{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "## 基于全连接神经网络的数字识别"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "---"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 介绍"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "本实验将利用之前学到的 PyTorch 的相关知识，建立一个全连接神经网络模型，用于识别手写字符。经过本实验的学习，你将明白如何利用 PyTorch 完成数据集的预处理、数据加载器的生成、优化器的定义、损失的定义、全连接神经网络的搭建、训练与测试等过程。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 知识点"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "- 数据加载器的定义\n",
    "- 优化器的定义\n",
    "- 损失的定义\n",
    "- 全连接网络的建立\n",
    "- 模型的训练与测试"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "---"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 手写字符识别"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "在实验开始之前，我们可以利用 `device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') ` 确定当前环境是否支持 GPU 运行。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "source": [
    "import torch\r\n",
    "\r\n",
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\r\n",
    "device"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "device(type='cpu')"
      ]
     },
     "metadata": {},
     "execution_count": 1
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "source": [
    "# 设置device\r\n",
    "import torch\r\n",
    "\r\n",
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\r\n",
    "print(device)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "cpu\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "若 type 为 `cuda` 则表示支持 GPU，否则就是只支持 CPU。由于云服务器 GPU 的成本极高，而训练能够识别 MNIST 的神经网络并不需要太多时间，因此，这里我们没有提供 GPU 的云服务。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "当然，无论是 CPU 环境和 GPU 环境，下面代码都是可以正常运行的。因为，我们已经把这个环境变量封装到 device 中了。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "在下面代码中，我们会对所有数据变量添加一个 `.to(device)` 操作。如果当前环境支持 GPU 运行， `.to(device)`  就可以使变量转成可放入 GPU 中的类型。若不支持，`.to(device)`  就可以使变量转成可放入 CPU 中的类型。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 数据的预处理"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "在本课程的《数据加载器》章节，我们已经详细阐述了如何制作一个 PyTorch 认可的数据加载器。如果忘记的同学，可以先返回该章节进行一个复习。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "首先让我们加载 PyTorch 中的自带数据集合，该数据集合存在于 `torchvision.datasets` 中，可以直接利用 ` torchvision.datasets.MNIST` 获得(下面代码将运行 3-5 min，请耐心等待)："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "source": [
    "import torch\r\n",
    "import torch.nn as nn\r\n",
    "import torchvision\r\n",
    "import torchvision.transforms as transforms\r\n",
    "\r\n",
    "# 将数据集合下载到指定目录下,这里的transform表示，数据加载时所需要做的预处理操作\r\n",
    "# 加载训练集合\r\n",
    "train_dataset = torchvision.datasets.MNIST(root='./data',\r\n",
    "                                           train=True,\r\n",
    "                                           transform=torchvision.transforms.ToTensor(),\r\n",
    "                                           download=True)\r\n",
    "# 加载测试集合\r\n",
    "test_dataset = torchvision.datasets.MNIST(root='./data',\r\n",
    "                                          train=False,\r\n",
    "                                          transform=transforms.ToTensor())\r\n",
    "train_dataset, test_dataset"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(Dataset MNIST\n",
       "     Number of datapoints: 60000\n",
       "     Root location: ./data\n",
       "     Split: Train\n",
       "     StandardTransform\n",
       " Transform: ToTensor(),\n",
       " Dataset MNIST\n",
       "     Number of datapoints: 10000\n",
       "     Root location: ./data\n",
       "     Split: Test\n",
       "     StandardTransform\n",
       " Transform: ToTensor())"
      ]
     },
     "metadata": {},
     "execution_count": 4
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "source": [
    "import torch\r\n",
    "import torch.nn as nn\r\n",
    "import torchvision\r\n",
    "from torchvision import transforms\r\n",
    "\r\n",
    "trans = transforms.Compose([transforms.ToTensor()])\r\n",
    "train_dataset = torchvision.datasets.MNIST(root='./data',train=True,transform=trans,download=True)\r\n",
    "test_dataset = torchvision.datasets.MNIST(root='./data',train=False,transform=trans,download=True)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "C:\\Users\\22459\\Miniconda3\\envs\\pytorch\\lib\\site-packages\\torchvision\\datasets\\mnist.py:498: UserWarning: The given NumPy array is not writeable, and PyTorch does not support non-writeable tensors. This means you can write to the underlying (supposedly non-writeable) NumPy array using the tensor. You may want to copy the array to protect its data or make it writeable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at  ..\\torch\\csrc\\utils\\tensor_numpy.cpp:180.)\n",
      "  return torch.from_numpy(parsed.astype(m[2], copy=False)).view(*s)\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "接下来，让我们把数据放入数据加载器中："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "source": [
    "batch_size = 100\r\n",
    "# 根据数据集定义数据加载器\r\n",
    "train_loader = torch.utils.data.DataLoader(dataset=train_dataset,\r\n",
    "                                           batch_size=batch_size,\r\n",
    "                                           shuffle=True)\r\n",
    "\r\n",
    "test_loader = torch.utils.data.DataLoader(dataset=test_dataset,\r\n",
    "                                          batch_size=batch_size,\r\n",
    "                                          shuffle=False)\r\n",
    "train_loader, test_loader"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(<torch.utils.data.dataloader.DataLoader at 0x23df0762970>,\n",
       " <torch.utils.data.dataloader.DataLoader at 0x23df0762520>)"
      ]
     },
     "metadata": {},
     "execution_count": 6
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "source": [
    "batch_size = 100\r\n",
    "# 注意数据集一般在对应的\r\n",
    "train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=batch_size,shuffle=True)\r\n",
    "test_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=batch_size,shuffle=False)\r\n",
    "train_loader,test_loader"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(<torch.utils.data.dataloader.DataLoader at 0x23df0762910>,\n",
       " <torch.utils.data.dataloader.DataLoader at 0x23df0762880>)"
      ]
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "在定义完 PyTorch 能够识别的数据加载器后，我们可以加载几张图片，观察一下图片效果："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "source": [
    "import numpy as np\r\n",
    "import matplotlib.pyplot as plt\r\n",
    "%matplotlib inline\r\n",
    "# 加载测试集中的前 6 张图片\r\n",
    "examples = iter(test_loader)\r\n",
    "example_data, example_targets = examples.next()\r\n",
    "\r\n",
    "for i in range(6):\r\n",
    "    plt.subplot(2, 3, i+1)\r\n",
    "    plt.imshow(example_data[i][0], cmap='gray')\r\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ],
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<svg height=\"250.193165pt\" version=\"1.1\" viewBox=\"0 0 368.925 250.193165\" width=\"368.925pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n   <cc:Work>\r\n    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n    <dc:date>2021-08-13T18:58:22.981970</dc:date>\r\n    <dc:format>image/svg+xml</dc:format>\r\n    <dc:creator>\r\n     <cc:Agent>\r\n      <dc:title>Matplotlib v3.4.2, https://matplotlib.org/</dc:title>\r\n     </cc:Agent>\r\n    </dc:creator>\r\n   </cc:Work>\r\n  </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M -0 250.193165 \r\nL 368.925 250.193165 \r\nL 368.925 0 \r\nL -0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 26.925 107.711404 \r\nL 125.395588 107.711404 \r\nL 125.395588 9.240815 \r\nL 26.925 9.240815 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p5a2badb0fa)\">\r\n    <image height=\"99\" id=\"image1a75db2fba\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"26.925\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAAEJUlEQVR4nO2cyyt2URTGt48M3GNAKYkBISm3kkiKEuU6MDA1EiMTpUxIiYEYyED5D8iElMtAidwGShlJGVJukcs3W/Y6dU7e873v8by+5zd6Vqt9ztbT2vvY7947xhjzaQgEf366A+QLmgEEzQCCZgBBM4CgGUDQDCBoBhA0AwiaAUSc34aTk5MqHh4e/la78/NzFa+trYl+e3tTuenpadF3d3ch9jD6YGUAQTOAiDE+V22rq6tVbA9TVVVVKpedne3nFebp6Un07Oysyk1MTIh+fHz09Xw0WBlA0AwgaAYQvucML9LT01W8sLAguqysTOXy8vJ8vWNvb0+0/QlsjDHr6+sqfn5+9vWOoGFlAEEzgIjIMOVFZmamiouKikTPzc2pXGFhoa937O/vq3hqakr0ysqKyn18fPh6RyRgZQBBM4CgGUAEPmd4kZWVpeLe3l7RAwMDKpebm+vrHYeHhyoeHx8Xvbq66uuZ4YKVAQTNAAJqmPKioKBAxfaw1dnZqXLO4c6L9/d30ZubmyrX0tISShf/GVYGEDQDCJoBRNTMGV6UlpaquLu7W8WVlZWim5qaXJ9zdnam4vLyctFBLJuwMoCgGUD8imEqFF5eXlQcF/e1dcy5b6u5uVn09vZ2RPtlDCsDCpoBBM0AwvdeW2TS0tJU3NbWJjo2Nta13e7uroqDmCdsWBlA0AwgfsUwVVJSouKZmRkVNzY2ura193TZPzT9BKwMIGgGEDQDiKidMzo6OkQvLS2pXHJysmu7kZERFS8vL4u+ubkJU+/8wcoAgmYAQTOAiJol9Pz8fBUfHR2Jdh5L3traUrG9cW1+fl7lPj9x/nxWBhA0AwjoT9vExETRi4uLKpeUlCS6p6dH5TY2NiLbsQjBygCCZgBBM4CAnjPGxsZE19fXq9zOzo5o54blaIWVAQTNAOLHh6mUlBTR9/f3Kpeamurazv7URTo+/C+wMoCgGUDQDCACX7Vtb29XcWtrq+jj42OVc96+ZnNyciK6rq5O5Zw3sxUXF4seGhpSuf7+fs/+BgkrAwiaAUQgw5R9GZjzxhu/l3/ZOJ/p/LGpoaFB9Ovrq8p5fT4HDSsDCJoBBM0AIpDlkJycHNEZGRlhf77zwmMv7DN8xhjT19cn+uHhwbWdc4Pb7e2t6IuLi2+/3wtWBhA0A4jA/wO3hyxjjImPjxddU1OjcrW1taKdR8O6urrC0p/r62vRBwcHKmfv53X+V396eip6dHRU5fweP2NlAEEzgKAZQAT+S9/V1ZVr7vLyUsX22QnnkeFQljHsW9sSEhJUzr7hbXBwUOXspRP78kpjjKmoqBDt3CzBOeMXQDOAiJojAf8DrAwgaAYQNAMImgEEzQCCZgBBM4CgGUDQDCBoBhA0AwiaAQTNAIJmAEEzgKAZQNAMIP4C5o/o9XPnuT8AAAAASUVORK5CYII=\" y=\"-8.711404\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m19dbb029a8\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.683403\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(25.502153 122.309841)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 2034 4250 \r\nQ 1547 4250 1301 3770 \r\nQ 1056 3291 1056 2328 \r\nQ 1056 1369 1301 889 \r\nQ 1547 409 2034 409 \r\nQ 2525 409 2770 889 \r\nQ 3016 1369 3016 2328 \r\nQ 3016 3291 2770 3770 \r\nQ 2525 4250 2034 4250 \r\nz\r\nM 2034 4750 \r\nQ 2819 4750 3233 4129 \r\nQ 3647 3509 3647 2328 \r\nQ 3647 1150 3233 529 \r\nQ 2819 -91 2034 -91 \r\nQ 1250 -91 836 529 \r\nQ 422 1150 422 2328 \r\nQ 422 3509 836 4129 \r\nQ 1250 4750 2034 4750 \r\nz\r\n\" id=\"DejaVuSans-30\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"63.851471\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(57.488971 122.309841)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 794 531 \r\nL 1825 531 \r\nL 1825 4091 \r\nL 703 3866 \r\nL 703 4441 \r\nL 1819 4666 \r\nL 2450 4666 \r\nL 2450 531 \r\nL 3481 531 \r\nL 3481 0 \r\nL 794 0 \r\nL 794 531 \r\nz\r\n\" id=\"DejaVuSans-31\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"99.019538\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(92.657038 122.309841)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 1228 531 \r\nL 3431 531 \r\nL 3431 0 \r\nL 469 0 \r\nL 469 531 \r\nQ 828 903 1448 1529 \r\nQ 2069 2156 2228 2338 \r\nQ 2531 2678 2651 2914 \r\nQ 2772 3150 2772 3378 \r\nQ 2772 3750 2511 3984 \r\nQ 2250 4219 1831 4219 \r\nQ 1534 4219 1204 4116 \r\nQ 875 4013 500 3803 \r\nL 500 4441 \r\nQ 881 4594 1212 4672 \r\nQ 1544 4750 1819 4750 \r\nQ 2544 4750 2975 4387 \r\nQ 3406 4025 3406 3419 \r\nQ 3406 3131 3298 2873 \r\nQ 3191 2616 2906 2266 \r\nQ 2828 2175 2409 1742 \r\nQ 1991 1309 1228 531 \r\nz\r\n\" id=\"DejaVuSans-32\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_4\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"maab913a352\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#maab913a352\" y=\"10.999219\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 14.798437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#maab913a352\" y=\"46.167286\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 49.966505)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#maab913a352\" y=\"81.335353\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 85.134572)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 26.925 107.711404 \r\nL 26.925 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 125.395588 107.711404 \r\nL 125.395588 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 26.925 107.711404 \r\nL 125.395588 107.711404 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 26.925 9.240815 \r\nL 125.395588 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_2\">\r\n   <g id=\"patch_7\">\r\n    <path d=\"M 145.089706 107.711404 \r\nL 243.560294 107.711404 \r\nL 243.560294 9.240815 \r\nL 145.089706 9.240815 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p8b69dbef69)\">\r\n    <image height=\"99\" id=\"image032025cef6\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"145.089706\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAAEjklEQVR4nO2cSyi9XRTG9/kSSTEwIgMGpi7JJbmUoczkWgyZuORaCiNDhQykZCDlXiQkRcpt4FLGRu6SgUsK4Zut/1r765yO73vf96z//3t+o2f1dM7ePK13v2fv9xyfMebbABX8FeoJgF8gDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEWEeTFIXFwc6fr6euF1d3eT9vl8wvv+/rWhPDQ0JLyRkRHSZ2dnjswz1KAzFIEwFIEwFOEzLpz0JSQkiHpubo50Zmam/8kEWDNsHh4eSE9PTwuvubk5qHlqA52hCIShCFcuU2VlZaKempoK6nV3d3eifnp6Ip2cnBz0+Pv7+6Le2toi3dvbG/T7eA06QxEIQxEIQxGebIdwPj8/RT06Okp6fHxcePz2NScnR3g1NTWkU1NThZebmytqfqttrz18m+Xg4CDg3N0GnaEIhKEIVy5T9idpXt/e3gqvqakpqPe8uLgQNf9Ub9PS0iLqnp4e0uXl5cL7+PggjcsUIBCGIhCGIlxZM+zdVl4vLi66MaRgYGBA1Hw7pKOjQ3jV1dWko6KihFdaWurC7PyDzlAEwlCE57u29i1qUlKS08MHJCIiQtT8gYiuri7hXV1dka6rqxPe+vq643NDZygCYSgCYSjC811b+5rNH3C7ublxffy3tzdR9/X1kQ4Lk/+Ozs5O0m1tbcLb3d0l/fLy4sjc0BmKQBiKcOXWtqSkRNSzs7Okw8PDhdfe3k56cHDQ6an8J/hBmL2rwJ/1bWxsdGQ8dIYiEIYiEIYiXFkzbPb29khnZ2cLb3t7m3RRUZHbU/kRfJ34+voSHv+b8vPzHRkPnaEIhKEIhKEIT7ZDWltbSe/s7AivoKCAdGFhofD4ehIK+DoR6LsiToHOUATCUIQnl6mTkxPSq6urwisuLia9tLQkvIqKCtKHh4fCi4yMJH15eenIPEMNOkMRCEMRCEMRnqwZ/HSNb5kbY8zz8zPpyspK4U1MTJC2TwH5Cd38/Lwj8/wJ5+fnjr8nOkMRCEMRnuzaBiItLY305uam8KKjo/2+bm1tjXRVVZXw7E/yKSkppMfGxoR3f3/vdwx+0vf6+up3jOPjY7/v8RPQGYpAGIpAGIoI+ZrBycjIEPXGxgbpmJgYv6+zd3eXl5dF3d/fT/r6+lp4/EmWxMRE4fHvkszMzAjPvg13AnSGIhCGIjx/1jYQR0dHol5ZWSFt375y+AGVMf+8teUHQ/zZXmOMSU9PJ81/dcEYHC79r0EYikAYilC1ZtjwHyTmv75jjDGTk5Ok7R+oDIS9dcG/W2GvNZzT09Ogx/i3oDMUgTAUoeoT+E/IysoivbCwILz4+HhR89tSfphljDHv7++kY2NjhZeXl0favrzx1zkFOkMRCEMRCEMRv+2aweGnhcb87MSQ8/j4KGp7DXEbdIYiEIYi/ojLlI19SNXQ0EC6trZWePzZrOHhYeE59aBBsKAzFIEwFIEwFPFHrhm/K+gMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRfwN+c44Y7Lb2NEAAAAASUVORK5CYII=\" y=\"-8.711404\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_3\">\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"146.848109\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(143.666859 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.016176\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(175.653676 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"217.184244\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(210.821744 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_4\">\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#maab913a352\" y=\"10.999219\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(131.727206 14.798437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#maab913a352\" y=\"46.167286\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(125.364706 49.966505)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#maab913a352\" y=\"81.335353\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(125.364706 85.134572)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_8\">\r\n    <path d=\"M 145.089706 107.711404 \r\nL 145.089706 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_9\">\r\n    <path d=\"M 243.560294 107.711404 \r\nL 243.560294 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_10\">\r\n    <path d=\"M 145.089706 107.711404 \r\nL 243.560294 107.711404 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_11\">\r\n    <path d=\"M 145.089706 9.240815 \r\nL 243.560294 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_3\">\r\n   <g id=\"patch_12\">\r\n    <path d=\"M 263.254412 107.711404 \r\nL 361.725 107.711404 \r\nL 361.725 9.240815 \r\nL 263.254412 9.240815 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#pd9b5d3b79c)\">\r\n    <image height=\"99\" id=\"imaged11b323a1a\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"263.254412\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAADg0lEQVR4nO2cv0vrYBSGvxbxx1DBSVBHFUHQQRx0VtDRWQcpouLkUHDqv1EEoYPd7OJSN0FdVOygFmrbQUEF6SLaoV1E73bMybWXNk2a95r3mc7hYHLk8XxfmsaEjDFfhkAQ9rsB8g1lAEEZQFAGEJQBBGUAQRlAUAYQlAEEZQDR4XcD7WZ1dVXlyWRS4r29PVXb2NhoR0sCJwMIygAicMvU4uKiykOhkE+d/A0nAwjKAIIygAjcnmHn6wvni05OBhCUAUTglykr5+fnvp6fkwEEZQBBGUAEfs+w3g75/Pz0sRNOBhSUAUTglynrJ/BSqeRjJ5wMKCgDCMoAgjKAoAwgKAOIwF/aWllaWlL5xcVFW8/PyQCCMoCgDCBCxuG/Hu/s7Kh8dna25WYODw9Vfnd3J7Fb6/f6+rrKd3d3Jb6/v1e14eFhV87ZKJwMICgDiKaWqUQiIbH9cfm3tzeJHx8fG25gYmLiuxnbc68fHx8SV6tVVcvn8xJfXl6qWjabVfnp6anE5XJZ1Z6fnyXu6+tTtc7Ozn/27jacDCAoAwjKAKKp2yE9PT0S29f3zc1NidPpdMPHnJycrHvMubk5iYeGhlTNup5Ho1FVW1tbU3mtVpPYvr90d3dLHA7rv82xsTGJC4XCz7+Ai3AygKAMICgDCNduob++vjr6uZubm7q16+vrho6xtbWl8t7eXpUvLCxIvLKyompdXV0S2/eMqakpiblnBAzKAMK1ZWp6elri4+Njtw7riEqlovKDg4MfY2OMSaVSEi8vL6taPB6XOJPJqJr19o9bcDKAoAwgKAOIpvaMYrFYtzY+Pt5yM34Qi8Uktt5+McaY0dFRiSORiKpxz/jlUAYQTS1TR0dHElsv+/5nrN/8PTw8qFp/f7/Eg4ODqvb09OR6L5wMICgDCMoAoqk94/b2VmL7Uxa/gff397q1+fl5lXvxUDQnAwjKAMLxXVu/3ybgBfYHGayXryMjI56fn5MBBGUAQRlAON4z9vf3Vd6ONdVrXl5eVG59N/rMzIyqefGAGycDCMoAwvEydXJyovJcLtdqL75jv1y33sUdGBhQNS/eh8vJAIIygKAMIBzvGWdnZ272AcnV1ZXE29vbnp+PkwEEZQDh+A0JxH04GUBQBhCUAQRlAEEZQFAGEJQBBGUAQRlAUAYQlAEEZQBBGUBQBhCUAQRlAEEZQPwBgPrAQHML2WEAAAAASUVORK5CYII=\" y=\"-8.711404\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_5\">\r\n    <g id=\"xtick_7\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"265.012815\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(261.831565 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_8\">\r\n     <g id=\"line2d_14\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"300.180882\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_14\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(293.818382 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_9\">\r\n     <g id=\"line2d_15\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"335.34895\" xlink:href=\"#m19dbb029a8\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_15\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(328.98645 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_6\">\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_16\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#maab913a352\" y=\"10.999219\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_16\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(249.891912 14.798437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_8\">\r\n     <g id=\"line2d_17\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#maab913a352\" y=\"46.167286\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_17\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(243.529412 49.966505)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_9\">\r\n     <g id=\"line2d_18\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#maab913a352\" y=\"81.335353\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_18\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(243.529412 85.134572)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_13\">\r\n    <path d=\"M 263.254412 107.711404 \r\nL 263.254412 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_14\">\r\n    <path d=\"M 361.725 107.711404 \r\nL 361.725 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_15\">\r\n    <path d=\"M 263.254412 107.711404 \r\nL 361.725 107.711404 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_16\">\r\n    <path d=\"M 263.254412 9.240815 \r\nL 361.725 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_4\">\r\n   <g id=\"patch_17\">\r\n    <path d=\"M 26.925 226.31504 \r\nL 125.395588 226.31504 \r\nL 125.395588 127.844452 \r\nL 26.925 127.844452 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#pc67119ca4f)\">\r\n    <image height=\"99\" id=\"image1977184669\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"26.925\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAADQUlEQVR4nO2cv0tyYRTHH+MdBAcRgkRDQhocHJrDRXQR3IzcQsvBP0IQa21zcGhIXNTBwdlBcfJPqCGqrZwUHFyqd3ve59wXo+Le6zf9fqZzOF468Ok8jz+eez1KqQ9FINhZdwPkH5QBBGUAQRlAUAYQlAEEZQBBGUBQBhCUAcQft/9gMBgUebfb1XEikRC1x8dHHR8eHjrbGACcDCAoAwjXl6lYLCby4+Njt1uAhZMBBGUAQRlAUAYQlAEEZQDh+lvb2Wwm8peXFx2HQiFRC4fDOr6+vha1SqWi4+VyaWOH64OTAQRlAEEZQHjUmg+x3d7e6rhQKIja+/v7yuui0aiOn5+fbe9rHXAygKAMINa+TJm8vb2J/LNl6uzsTMftdtuxntyEkwEEZQBBGUBA7RnT6VTkgUBg5Wsnk4mOM5mMqC0WC3sbcwlOBhCUAQTUMnV0dCTyXq+n40gksvK6fr8v8pOTE1v7cgtOBhCUAQRlAAG1Z1hpNBo6LpVKX74uHo+L/P7+3raenISTAQRlAAG9TB0cHOj44eHhy9e1Wi2RF4tFu1pyFE4GEJQBBGUA4fohtu/w9PSk41wuJ2rNZlPHPp9P1MzDCkoptbe3p+PX11f7GrQZTgYQlAEEZQAB/TnjM8rlso7r9bqo7ezI/7HBYKDjfD4vavP53IHufgYnAwjKAOLXLlPmVyXmL4JK/f+LoXkY7urqStQuLy9t7+2ncDKAoAwgKAOIX7tnmOzu7orc+pWHuWdY7yk8PT3V8XA4tL+5b8DJAIIygNiIZcrKzc2NyM/Pz1e+djQa6TiVSjnV0pfgZABBGUBQBhAbuWdYHzxp3vNnfWClycXFhcitp0ychpMBBGUAsZHLlJV0Oq3jTqcjan6/X8d3d3eils1mdWz9VO/Ek3w4GUBQBhCUAcRW7Bkm1WpV5OYT3ayYBxuSyaSojcdjextTnAwoKAMI6LO2TmB9UJj5FtXr9brdjoCTAQRlAEEZQGzdnmHe16GUUvv7+zqu1WqiZr619Xg8jvalFCcDCsoAYus+gSPDyQCCMoCgDCAoAwjKAIIygKAMICgDCMoAgjKAoAwgKAMIygCCMoCgDCAoAwjKAOIvm8meZYdQHtQAAAAASUVORK5CYII=\" y=\"-127.31504\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_7\">\r\n    <g id=\"xtick_10\">\r\n     <g id=\"line2d_19\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.683403\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_19\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(25.502153 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_11\">\r\n     <g id=\"line2d_20\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"63.851471\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_20\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(57.488971 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_12\">\r\n     <g id=\"line2d_21\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"99.019538\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_21\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(92.657038 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_8\">\r\n    <g id=\"ytick_10\">\r\n     <g id=\"line2d_22\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#maab913a352\" y=\"129.602855\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_22\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 133.402074)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_11\">\r\n     <g id=\"line2d_23\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#maab913a352\" y=\"164.770922\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_23\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 168.570141)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_12\">\r\n     <g id=\"line2d_24\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#maab913a352\" y=\"199.93899\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_24\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 203.738208)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_18\">\r\n    <path d=\"M 26.925 226.31504 \r\nL 26.925 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_19\">\r\n    <path d=\"M 125.395588 226.31504 \r\nL 125.395588 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_20\">\r\n    <path d=\"M 26.925 226.31504 \r\nL 125.395588 226.31504 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_21\">\r\n    <path d=\"M 26.925 127.844452 \r\nL 125.395588 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_5\">\r\n   <g id=\"patch_22\">\r\n    <path d=\"M 145.089706 226.31504 \r\nL 243.560294 226.31504 \r\nL 243.560294 127.844452 \r\nL 145.089706 127.844452 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p97c19c8e8d)\">\r\n    <image height=\"99\" id=\"imageba83ffda00\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"145.089706\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAAD70lEQVR4nO2czyu0URTH70hIksTCktggG8qGbMSKJhYoC+zslZJQ2NlIWVlY0JRplMwGG2TBP4CEsmBjp0QK7+64576e18/neb7PvN/P6ns6Y+bo69x75z73ihljXg2BICvsAsgbNAMImgFEdtgF+EFhYaGKZ2dnRQ8PD6tcXV2d6OPjY38L+wB2BhA0A4iMGKbcYWltbU3Fra2totfX11Xu6urKv8K+CDsDCJoBBM0AIiPmjK6uLhXbc4Qxxuzt7YmemppSufv7e9/q+irsDCBoBhAxkwG7tmdnZyquqKhQcVNTk+jDw8NAavoO7AwgaAYQNAOIyC5ta2trRVdVVancy8uLii8uLgKp6aewM4CgGUBEdphqbm4W7Q5Lr6/RXK2zM4CgGUDQDCAiO2dcXl6GXcKvw84AgmYAkRG7ts/Pzyp2l7ZlZWWib29vA6npO7AzgKAZQNAMICK7tG1vbw+7hF+HnQEEzQAissPUw8OD6Kws/Tfl7uL29vaKXlhY8LewH8DOAIJmAEEzgAhkzmhsbBSdTqdVrri4WPT5+bnKbWxsiF5eXlY5++CafZbWGH1ozZi/D7Whws4AgmYA4cuubVFRkYpPTk5El5aW6gJiMdFfOUhwc3Pz7nsYo3dpjdE7tW4OCXYGEDQDCJoBhC9L25ycHBW784RNeXm56MfHR5UbHBwU3dnZqXL2WduCggKVc+eekpIS0R0dHSq3ubnpWVvQsDOAoBlA0AwgAvmecXp6Ktoev43R2yPxePzTn1FZWSl6dXVV5err6z1/LpVKqXhoaEh02NeQ2RlA0AwgAjnENjExIXpyclLlnp6eRG9tbalcX1+faPvJnkteXp6K29raVJxIJDxfOzMz41lb0LAzgKAZQNAMIAI/+Dw9Pa3isbEx0e42xuLioujx8XGVu7u7+/Rn2lv47jVlm+7ubhXbTxqDgJ0BBM0AIvT7GQMDA6KXlpY8X7ezs6Pinp4e0R8NWf39/aLdgw0219fXKm5oaBAdxL0OdgYQNAMImgFE6HNGdvbbw0Z7jDbGmO3tbdH5+fkqt7+/L9pdLh8cHKg4NzdXtPsPiO2tE/eUyejoqOi5ubn3f4FfhJ0BBM0AIvRh6l/Yy9f5+XmVsx9SucPL7u6uiu0DEdXV1Z6f575PMpkUbd/x8At2BhA0AwiaAQT0nGFj3/EwRm9xtLS0qFxNTY3n+4yMjKjYPkDt3utYWVkRfXR09Plivwk7AwiaAURkhqn/AXYGEDQDCJoBBM0AgmYAQTOAoBlA0AwgaAYQNAMImgEEzQCCZgBBM4CgGUDQDCBoBhA0AwiaAQTNAIJmAEEzgKAZQNAMIP4Al6LcAvNfHWQAAAAASUVORK5CYII=\" y=\"-127.31504\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_9\">\r\n    <g id=\"xtick_13\">\r\n     <g id=\"line2d_25\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"146.848109\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_25\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(143.666859 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_14\">\r\n     <g id=\"line2d_26\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.016176\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_26\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(175.653676 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_15\">\r\n     <g id=\"line2d_27\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"217.184244\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_27\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(210.821744 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_10\">\r\n    <g id=\"ytick_13\">\r\n     <g id=\"line2d_28\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#maab913a352\" y=\"129.602855\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_28\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(131.727206 133.402074)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_14\">\r\n     <g id=\"line2d_29\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#maab913a352\" y=\"164.770922\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_29\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(125.364706 168.570141)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_15\">\r\n     <g id=\"line2d_30\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#maab913a352\" y=\"199.93899\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_30\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(125.364706 203.738208)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_23\">\r\n    <path d=\"M 145.089706 226.31504 \r\nL 145.089706 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_24\">\r\n    <path d=\"M 243.560294 226.31504 \r\nL 243.560294 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_25\">\r\n    <path d=\"M 145.089706 226.31504 \r\nL 243.560294 226.31504 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_26\">\r\n    <path d=\"M 145.089706 127.844452 \r\nL 243.560294 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_6\">\r\n   <g id=\"patch_27\">\r\n    <path d=\"M 263.254412 226.31504 \r\nL 361.725 226.31504 \r\nL 361.725 127.844452 \r\nL 263.254412 127.844452 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p94fa0c9eda)\">\r\n    <image height=\"99\" id=\"imagea5601a049a\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"263.254412\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAAEd0lEQVR4nO2cSyh9XRjGNz7KdaAMGBEDxICUy4hSbuUyEpJMlIkoYqBcSmKgRCbCVMllRCFKLgMDZgwoUeRSlBDh+2bvf72r9un8dRyPr+c3elbPPnuverxrbWvvtQMcx/nXIRAE/nQHyB8YBhAMAwiGAQTDAIJhAMEwgGAYQDAMIBgGEAwDCIYBBMMAgmEAwTCAYBhAMAwg/vHViSIjI0VXVlYqLzMzU/TNzY3ypqenRd/f3yvv7e3NV937FbAygGAYQAQ4Pnoh4eDgQHR6evqXzrG8vKzaW1tbopeWlpR3dnYm+v39/UvXQ4OVAQTDAIJhAOGzOePq6kp0TEyM8l5fX0UfHx8rLzw8XHRSUpLX1+vt7RU9ODiovI+PD6/PgwQrAwiGAYTPhqnm5mbRY2Njynt+fhbd1NSkvNXVVdHZ2dnKa2xsFF1SUqK80NBQ0f39/cqbmZlR7YuLC49994aamhrVrq2tdT22ra1N9MnJidfXYGUAwTCAYBhA+GzOCAoKEj0wMKC89vZ20U9PT8rr6uoSPTs7qzxzFTcrK0t54+Pjrp49Tpvz2ebmpvKioqJE5+XlKa+urk50eXm58sxbchtzjkpISHA9zoaVAQTDAMJnw5RJcHCwapu3nh0dHa6/W1lZUe36+nrRDw8PyjP/y7dXe82HWY6jH1INDw8rLy0tTXRFRYVr39bX11V7aGhItP1QzOTw8NDVs2FlAMEwgGAYQHzLnGETEhIiuri4WHkLCwuuv+vr6xO9sbGhvJ2dHdHR0dHKs48154W/wby1tZ80mivRvoKVAQTDAMIvw5SJfdubkZEhen5+XnmxsbGiX15elGfe6u7t7SnPHgrDwsJc+3N7eyt6ZGREeaOjo6L98Q4XKwMIhgEEwwDC73OGJ+yxPTU1VXRPT4/ySktLXc8TGKj/xj4/P12Pvby8FJ2fn6+809NT1999B6wMIBgGEAwDCKg5429oaWkR7empm01VVZVqm8vtu7u7yisoKBDtjxfjWBlAMAwgfu0w9VWmpqZUu6GhwfVY81Z3e3v7u7oksDKAYBhAMAwgfLb1+KvExcWJ9vRStP1imr2F2Vvs5XZPc4a/YWUAwTCA+PFhanJyUnRRUZHyuru7RZtbjR3Hcfb390V3dnYq7/z83PV619fXX+mmX2BlAMEwgGAYQPz4nDE3NyfanjNM4uPjXdv2i86FhYWqbe6XODo6+kIv/QMrAwiGAcSPD1OLi4uic3JylFddXS3a/LiYTWJiomqvra2ptqfhDwlWBhAMAwiGAQT0k77k5GTRra2tyjP3TpifrnAcxwkICFBt89b28fFReSkpKaLv7u6UZz7ps78G9B2wMoBgGEBAD1OeMP8Dt1dtc3NzVdvbbWQTExOqbb6b5Q9YGUAwDCAYBhC/ds7whL10EhERIbqsrEx55mcv7D1937G92BOsDCAYBhD/y2Hqt8LKAIJhAMEwgGAYQDAMIBgGEAwDCIYBBMMAgmEAwTCAYBhAMAwgGAYQDAMIhgEEwwDiP//NEotZXnhZAAAAAElFTkSuQmCC\" y=\"-127.31504\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_11\">\r\n    <g id=\"xtick_16\">\r\n     <g id=\"line2d_31\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"265.012815\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_31\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(261.831565 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_17\">\r\n     <g id=\"line2d_32\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"300.180882\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_32\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(293.818382 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_18\">\r\n     <g id=\"line2d_33\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"335.34895\" xlink:href=\"#m19dbb029a8\" y=\"226.31504\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_33\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(328.98645 240.913477)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_12\">\r\n    <g id=\"ytick_16\">\r\n     <g id=\"line2d_34\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#maab913a352\" y=\"129.602855\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_34\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(249.891912 133.402074)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_17\">\r\n     <g id=\"line2d_35\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#maab913a352\" y=\"164.770922\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_35\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(243.529412 168.570141)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_18\">\r\n     <g id=\"line2d_36\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#maab913a352\" y=\"199.93899\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_36\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(243.529412 203.738208)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_28\">\r\n    <path d=\"M 263.254412 226.31504 \r\nL 263.254412 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_29\">\r\n    <path d=\"M 361.725 226.31504 \r\nL 361.725 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_30\">\r\n    <path d=\"M 263.254412 226.31504 \r\nL 361.725 226.31504 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_31\">\r\n    <path d=\"M 263.254412 127.844452 \r\nL 361.725 127.844452 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p5a2badb0fa\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"26.925\" y=\"9.240815\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p8b69dbef69\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"145.089706\" y=\"9.240815\"/>\r\n  </clipPath>\r\n  <clipPath id=\"pd9b5d3b79c\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"263.254412\" y=\"9.240815\"/>\r\n  </clipPath>\r\n  <clipPath id=\"pc67119ca4f\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"26.925\" y=\"127.844452\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p97c19c8e8d\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"145.089706\" y=\"127.844452\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p94fa0c9eda\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"263.254412\" y=\"127.844452\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD6CAYAAAC4RRw1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAeBUlEQVR4nO3de5BUxdkG8OcFgSDIZZWsGy+AETFoUBQF/SggERTRBNCIEuSSENfyFrTUEpUYCBFBE6q8JiJypyBWQEETChBQoiAFGkwAwQUjN7mIiiAQDNjfHzu23e3O7OzMmXNOn3l+VVv79umZOQ3v0Jzp6dMtSikQEZF/akXdACIiyg07cCIiT7EDJyLyFDtwIiJPsQMnIvIUO3AiIk/l1YGLSA8R2Sgim0RkWFCNomgxr8nF3CaL5DoPXERqA3gfQHcA2wGsAtBPKbU+uOZR2JjX5GJuk+e4PJ57MYBNSqkPAEBEZgHoBSDtm0FEeNdQTCilJE0V8+qxDHkFaphb5jVW9iqlmrkH8xlCOQXANqO8PXXMIiLlIrJaRFbncS4KD/OaXNXmlnmNrS1VHcznCjwrSqnxAMYD/B89SZjXZGJe/ZLPFfgOAKcZ5VNTx8hvzGtyMbcJk08HvgpAKxFpKSJ1AdwAYF4wzaIIMa/JxdwmTM5DKEqpoyJyO4AFAGoDmKiUWhdYyygSzGtyMbfJk/M0wpxOxjG12KhmtkKNMK/xwbwm1ttKqfbuQd6JSUTkKXbgRESeYgdOROQpduBERJ5iB05E5Cl24EREnir4rfREPrrwwgut8u23367jgQMHWnVTp07V8ZNPPmnVvfPOOwVoHVElXoETEXmKHTgRkafYgRMReYq30lehdu3aVrlx48ZZP9ccKz3++OOtutatW+v4tttus+r+8Ic/6Lhfv35W3X//+18djxkzxqobOXJk1m0z8ZZr2/nnn2+VlyxZYpUbNWqU1et8/vnnVvnEE0/Mq101xbyG47LLLtPxjBkzrLouXbroeOPGjUGdkrfSExElCTtwIiJPJXoa4emnn26V69atq+NLL73UquvUqZOOmzRpYtVde+21gbRn+/btOn7iiSesuj59+uj4wIEDVt27776r49dffz2QthBw8cUX63j27NlWnTtsZg41uvn58ssvdewOmXTs2FHH7pRC83lJ0rlzZ6ts/p28+OKLYTenIC666CIdr1q1KrJ28AqciMhT7MCJiDzFDpyIyFOJGwM3p4O5U8FqMh0wCF999ZVVHj58uI6/+OILq86cirRz506r7rPPPtNxgNOSioI5lfOCCy6w6qZPn67jsrKyrF+zoqLCKj/66KM6njVrllX35ptv6tjMPwA88sgjWZ/TJ127drXKrVq10rGvY+C1atnXui1bttRx8+bNrTqRwGZyVotX4EREnmIHTkTkqcQNoWzdulXHn3zyiVUXxBDKypUrrfK+ffus8o9+9CMdu9PEpk2blvf5qWaeffZZHbt3uObKHYpp2LChjt1pnuZwQtu2bQM5f9y5qzWuWLEiopYExx1iu+mmm3RsDsUBwIYNG0JpE8ArcCIib7EDJyLyFDtwIiJPJW4M/NNPP9Xxvffea9VdffXVOv7nP/9p1bm3tpvWrFmj4+7du1t1Bw8etMrnnHOOjocOHVp9gylQ7k46V111lY4zTe9yx65ffvllq2yuFvnRRx9ZdeZ7yZzyCQA//vGPszp/krhT7pJgwoQJaevcaaVhSt7fNBFRkai2AxeRiSKyR0TWGsdKRGSRiFSkfjctbDMpaMxrcjG3xaPaDR1EpDOALwBMVUqdmzr2KIBPlVJjRGQYgKZKqfuqPVnEC8Sbi/K7K8qZ082GDBli1d144406njlzZoFaF7ouSEheM919m2kjhvnz5+vYnWJoLsoP2FMA3Y/TH3/8cdpzHDt2TMeHDh1Ke46gNj9WSklQ/2Zrklfz78edNjhnzhwdDxgwINuXjJXly5dbZXOVSXdl07feeqsQTchtQwel1DIAnzqHewGYkoqnAOidb+soXMxrcjG3xSPXMfBSpdTXC3bsAlAaUHsoWsxrcjG3CZT3LBRV+Zkt7UctESkHUJ7veShczGtyZcot8+qXXDvw3SJSppTaKSJlAPake6BSajyA8UD0Y6X79+9PW+duRmsyb5v9y1/+YtW5Kw56zou8nnXWWVbZnC7qLpewd+9eHburPE6ZMkXH7uqQf/vb3zKWc1G/fn2rfPfdd+u4f//+eb9+NbLKba557dmzp47dP6evSku/+ZBirj7o2rFjRxjNqVKuQyjzAAxKxYMAzA2mORQx5jW5mNsEymYa4UwAKwC0FpHtIjIEwBgA3UWkAkC3VJk8wrwmF3NbPKodQlFKpVvC7bKA2xKpESNG6Ni9m8+c7tWtWzerbuHChQVtV6H4ltd69erp2LwrErA/vrvTQ82V8VavXm3VRf1R3910OyhR5LZ169Zp69atW1eo0xaU+T4zh1MA4P3339ex+54LE+/EJCLyFDtwIiJPsQMnIvJU4lYjzJW5qqA5bRCwb3N+7rnnrLqlS5daZXOc9emnn7bqqlu2gNJr166djs0xb1evXr2ssrvKIIVv1apVUTdBc5dW6NGjh47NJTMA4PLLL0/7OqNGjdKxuytXmHgFTkTkKXbgRESe4hBKFTZv3myVBw8erONJkyZZde7qama5QYMGVt3UqVN17N4VSJmNGzdOx+7GCOYwSdyGTMzNDRJ2127WSkpKcnreeeedp2M35+Z03lNPPdWqq1u3ro7dO1zdzSYOHz6sY3fD8iNHjuj4uOPsrvLtt9/O2Paw8AqciMhT7MCJiDzFDpyIyFMcA8/Ciy++qGN3A1NzbBYALrvsm7uVR48ebdU1b95cxw8//LBVF+WKZnFkbkAN2LvuuNMx582bF0aTcmKOe7vtNjfL9p05luz+Of/85z/r+IEHHsj6Nc1dftwx8KNHj+rY3elo/fr1Op44caJV5y6nYH5nsnv3bqtu+/btOnaXXdiwYUPGtoeFV+BERJ5iB05E5Cl24EREnuIYeA2tXbvWKvft29cq/+QnP9GxO2f85ptv1nGrVq2suu7duwfVxERwxxzNub179tibybi7JIXNXOrWXJbYtWTJEqt8//33F6pJobv11lt1vGXLFqvO3bU9W1u3btXxSy+9ZNW99957Og5qF/jycnsnuWbNmun4gw8+COQcQeMVOBGRp9iBExF5ikMoeXJXIps2bZqOJ0yYYNWZt+N27tzZquvatauOX3vttcDal0TmLc5A+MsSmEMmADB8+HAdmxssA/ZUtD/+8Y9WnbuRclKMHTs26ibkxJwC7Jo9e3aILcker8CJiDzFDpyIyFPswImIPMUx8Boyb+8FgJ/97GdW+aKLLtKxuwSlybzdFwCWLVsWQOuKQxS3zpu38rvj3Ndff72O586da9Vde+21BW0XhcNcTiNOeAVOROQpduBERJ7iEEoVWrdubZVvv/12HV9zzTVW3cknn5z16x47dkzH7tS3Yt2tJR139Tmz3Lt3b6tu6NChgZ//rrvussq/+c1vdNy4cWOrbsaMGToeOHBg4G0hSodX4EREnmIHTkTkqWo7cBE5TUSWish6EVknIkNTx0tEZJGIVKR+Ny18cykozGsyMa/FJZsx8KMA7lZKvSMiJwB4W0QWARgMYLFSaoyIDAMwDMB9hWtqsNyx6379+unYHPMGgBYtWuR0Dnf3D3MXnhjsIhPrvLq7uphlN3dPPPGEjt0dWD755BMdd+zY0aobMGCAjs0d0IFv73Ruroy3YMECq+6ZZ5759h8gOrHOq0/M713OOussqy6oFRDzVe0VuFJqp1LqnVR8AMB7AE4B0AvAlNTDpgDoXaA2UgEwr8nEvBaXGs1CEZEWANoBWAmgVCn19VSKXQBK0zynHEB5VXUUD8xrMjGvyZd1By4iDQHMBnCnUmq/+fFCKaVERFX1PKXUeADjU69R5WMKpbTUfo+2adNGx0899ZRVd/bZZ+d0jpUrV1rlxx57TMfuXXlxnCroY15r165tlc3NBNw7H/fv369jdxONTJYvX26Vly5dquOHHnoo69eJio95jRtz2K5WrXjO98iqVSJSB5VvhhlKqTmpw7tFpCxVXwZgT7rnUzwxr8nEvBaPbGahCIDnAbynlBpnVM0DMCgVDwIw130uxRfzmkzMa3HJZgjl/wAMAPBvEVmTOvYAgDEAXhCRIQC2AOhb9dMpppjXZGJei0i1HbhS6g0AkqY6/RYWISkpKbHKzz77rI7NFeQA4IwzzsjpHOZ4qLurijul7PDhwzmdI2xxz+uKFSus8qpVq3RsrvjocqcYut+DmMwphrNmzbLqCnF7fhjinldfXXLJJVZ58uTJ0TTEEc+ReSIiqhY7cCIiT3mxGmGHDh2ssrmg/sUXX2zVnXLKKTmd49ChQzo27+wDgNGjR+v44MGDOb0+1Yy5GTBgrwJ58803W3XmpsKZPP7441b5T3/6k443bdpU0yZSwrkrYsYRr8CJiDzFDpyIyFPswImIPOXFGHifPn0yltNxNw5+5ZVXdHz06FGrzpweuG/fvhq2kArN3MFoxIgRVp1bJsrF/PnzrfJ1110XUUuyxytwIiJPsQMnIvKUuAvnF/RkRb66WZwopQKbI8W8xgfzmlhvK6Xauwd5BU5E5Cl24EREnmIHTkTkKXbgRESeYgdOROQpduBERJ5iB05E5Cl24EREnmIHTkTkKXbgRESeCns1wr2o3BH7pFQcB8XYluYBvx7zmhnzGpxibUuVuQ11LRR9UpHVVd3XHwW2JThxaj/bEpw4tZ9tsXEIhYjIU+zAiYg8FVUHPj6i81aFbQlOnNrPtgQnTu1nWwyRjIETEVH+OIRCROQpduBERJ4KtQMXkR4islFENonIsDDPnTr/RBHZIyJrjWMlIrJIRCpSv5uG0I7TRGSpiKwXkXUiMjSqtgSBebXakpjcMq9WW2KZ19A6cBGpDeBpAFcCaAOgn4i0Cev8KZMB9HCODQOwWCnVCsDiVLnQjgK4WynVBkBHALel/i6iaEtemNdvSURumddviWdelVKh/AC4BMACo3w/gPvDOr9x3hYA1hrljQDKUnEZgI0RtGkugO5xaAvzytwyr/7kNcwhlFMAbDPK21PHolaqlNqZincBKA3z5CLSAkA7ACujbkuOmNc0PM8t85pGnPLKLzENqvK/0dDmVYpIQwCzAdyplNofZVuSLIq/S+a28JjXcDvwHQBOM8qnpo5FbbeIlAFA6veeME4qInVQ+UaYoZSaE2Vb8sS8OhKSW+bVEce8htmBrwLQSkRaikhdADcAmBfi+dOZB2BQKh6EyrGtghIRAfA8gPeUUuOibEsAmFdDgnLLvBpim9eQB/57AngfwGYAD0bwxcNMADsB/A+VY3pDAJyIym+PKwC8CqAkhHZ0QuVHrX8BWJP66RlFW5hX5pZ59TevvJWeiMhT/BKTiMhT7MCJiDyVVwce9a22VBjMa3IxtwmTx6B+bVR+uXEGgLoA3gXQpprnKP7E44d5TeZPkP9mo/6z8Mf6+biqHOVzBX4xgE1KqQ+UUl8CmAWgVx6vR/HAvCYXc+uvLVUdzKcDz+pWWxEpF5HVIrI6j3NReJjX5Ko2t8yrX44r9AmUUuOR2npIRFShz0fhYF6TiXn1Sz5X4HG91Zbyw7wmF3ObMPl04HG91Zbyw7wmF3ObMDkPoSiljorI7QAWoPLb7YlKqXWBtYwiwbwmF3ObPKHeSs8xtfhQSklQr8W8xgfzmlhvK6Xauwd5JyYRkafYgRMReYodOBGRp9iBExF5ih04EZGn2IETEXmKHTgRkafYgRMReYodOBGRp9iBExF5quDLydI3hg8fruORI0dadbVqffN/adeuXa26119/vaDtIioWJ5xwglVu2LChjq+66iqrrlmzZjoeN26cVXfkyJECtK7meAVOROQpduBERJ7iEEoBDR482Crfd999Ov7qq6/SPi/MFSKJkqZFixY6Nv/NAcAll1xilc8999ysXrOsrMwq//rXv86tcQHjFTgRkafYgRMReYodOBGRpzgGXkDNmze3yt/5znciagkBQIcOHazyjTfeqOMuXbpYdeecc07a17nnnnus8kcffaTjTp06WXXTp0/X8cqVK7NvLGV09tln6/jOO++06vr376/j+vXrW3Ui9oZF27Zt0/GBAwesuh/84Ac67tu3r1X3zDPP6HjDhg1Ztjp4vAInIvIUO3AiIk9xCCVg3bp10/Edd9yR9nHux66rr75ax7t37w6+YUXq+uuv1/Hjjz9u1Z100kk6dj9av/baa1bZvCvvscceS3s+93XM591www3VN5i0xo0b63js2LFWnZlX9+7KTCoqKqzyFVdcoeM6depYdea/UfO9UlU5KrwCJyLyFDtwIiJPsQMnIvIUx8Dz5E4bmzRpko7NMTyXO466ZcuWYBtWRI477pu3cfv27a265557TsfHH3+8Vbds2TIdjxo1yqp74403rHK9evV0/MILL1h1l19+edq2rV69Om0dZdanTx8d/+pXv8rpNTZv3myVu3fvbpXNaYRnnnlmTueIEq/AiYg8VW0HLiITRWSPiKw1jpWIyCIRqUj9blrYZlLQmNfkYm6LRzZDKJMBPAVgqnFsGIDFSqkxIjIsVb6viucm3qBBg6zy9773vbSPNaemTZ06Ne3jQjIZCcmreUflhAkT0j5u0aJFVtmcirZ///6M5zAfm2nIZPv27VZ5ypQpGV+3QCYjAbm97rrrsnrchx9+aJVXrVqlY3c1QnPIxGXeeemLaq/AlVLLAHzqHO4F4Ot35hQAvYNtFhUa85pczG3xyPVLzFKl1M5UvAtAaboHikg5gPIcz0PhYl6TK6vcMq9+yXsWilJKiUjaHQiUUuMBjAeATI+jeGFekytTbplXv+Tage8WkTKl1E4RKQOwJ8hGxZl7C+0vf/lLq2zutLNv3z6r7ve//33B2hUQL/LqTvl74IEHdOzuZmSuGmduKg1UP+5tevDBB7N6nLtTy8cff5z1OQrMi9yabrrpJh2Xl9sfChYuXKjjTZs2WXV79uT2RystTfuBM7ZynUY4D8DX394NAjA3mOZQxJjX5GJuEyibaYQzAawA0FpEtovIEABjAHQXkQoA3VJl8gjzmlzMbfGodghFKdUvTdVlAbcltsxNUmfPnp3185588kmrvHTp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"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "source": [
    "import numpy as np\r\n",
    "import matplotlib.pyplot as plt\r\n",
    "%matplotlib inline\r\n",
    "# 加载测试集中的前 6 张图片\r\n",
    "# 这个操作很重要，要先把Dataloader变成iter然后才能用next来取图片\r\n",
    "examples = iter(test_loader)\r\n",
    "example_data,example_target = next(examples)\r\n",
    "for i in range(9):\r\n",
    "    plt.subplot(3,3,i+1).set_title(str(example_target[i].item()))\r\n",
    "    plt.imshow(example_data[i][0],cmap='gray')"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 9 Axes>"
      ],
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<svg height=\"263.63625pt\" version=\"1.1\" viewBox=\"0 0 334.407353 263.63625\" width=\"334.407353pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n   <cc:Work>\r\n    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n    <dc:date>2021-08-13T19:08:13.722744</dc:date>\r\n    <dc:format>image/svg+xml</dc:format>\r\n    <dc:creator>\r\n     <cc:Agent>\r\n      <dc:title>Matplotlib v3.4.2, https://matplotlib.org/</dc:title>\r\n     </cc:Agent>\r\n    </dc:creator>\r\n   </cc:Work>\r\n  </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 263.63625 \r\nL 334.407353 263.63625 \r\nL 334.407353 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 26.925 86.271066 \r\nL 90.877941 86.271066 \r\nL 90.877941 22.318125 \r\nL 26.925 22.318125 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p1ca3bf9a33)\">\r\n    <image height=\"64\" id=\"image48ca707034\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"26.925\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAALW0lEQVR4nO2b3VMaZxvGf8suLLuwgoqAH4CY+BHHTqtOOrXT1pMe9Q/Ief7JHjjTmaYTe9BoZmqaxlHUgAERVFC+2QXeA999Xk18a6somWmuGQ7AXfZ+Lu7nua/7Qwno8C+Go9cG9BqfCOi1Ab3GJwJ6bUCvoVx7gaIQDAbRdR2/349hGFde12g0aLVaVCoVarUanc55cLEsi+PjY/F3+/OPBdcSoOs6y8vLjI+Ps7S0xGeffYYkSZeuabVa5PN5SqUSyWSSRCJBu92m0+lQKpX4+eefSafTNBoNms3mnS3mJriWAACn04mmafT19REIBFAUBVmWkSQJh8NBu91G0zRKpRLtdptGo3GJgLGxMQDOzs4ol8uYpkm9Xv8ovOFaAkzTZGtri9PTU7xeLw6Hg76+PkKhEC6XC8MwkGUZv9+P1+vF7/czOTkpFmeaJt988w3lcpmNjQ22trZ4+/Yta2trNBoNTNPsKRHXEtBqtSgWiwBks1kODg5oNpt4PB7cbje6ruNwOHC5XKiqisfjIRAIiPs7nQ6xWAzTNIXXmKbJH3/8QafTodVqCW/pBSSukcIOhwO/34/b7SYSiRAKhTAMg0AgQCAQ4Ntvv2VgYAC/34+maYKUi7AXmU6nyeVyvH37lvX1dY6Pj/nzzz85PT0ll8txdnZGu92m3W7f5Zov4VoPaLfbnJycAJDJZABQVRVd14lGoxiGQTQaJRKJ0N/fD/ABAbIsI8sy4+PjjI+PE4/HicViHBwcIMsyBwcH1Ot1qtUqlmV9XARchVarRbPZpFAosL6+TjKZJBwO09fXR39/P4ODg/h8PsbHx1FVFU3TkGVZ3O92uwkEAsiyzJdffsnJyQnBYJBcLsfh4SGHh4fUajUKhQKtVqtri70K126B/3ujJCFJEi6XC0VR6OvrQ9M0BgcHCYVCTE1N8eTJE/H+old0Oh2x75vNJpZlsbe3x9HRES9fvuTXX38ll8uxsbFxSVPcBW7kAXC+iE6nQ71eF7qg0WgA59vG4/Gws7NDsVjEsiwMw0DXdTRNw+FwCI9QFIV2u83AwAAOh4PR0VEePHiAYRiUy2Wq1SpnZ2c0Go070RE39oD34XA4cDgcKIqCoigYhkEkEsHn87GwsEAoFOLzzz9namoKXdfx+XyXBJXtCdVqlUqlQrFYJJFIcHJywrNnz0in0+zu7vLu3btumCtwYw94H/bpbVkWcL4g0zSFNqjVaoRCIYLBIK1W65In2FvJ5XKh6zqBQICBgQEUReH4+Jjd3V1arRYnJyecnJxgWVbXPKFrHvA+HA4HTqcTp9NJIBBA13UmJiYYGxsjGo3yxRdfYBgGExMTYms4nU5xv2maVCoV6vU6+/v7lEolNjc3SSaTvH79mp9++qkrJHTNA96HLYkbjQblchmAfD7P9vY209PTuN1uhoaGCAQCQkhdJMDpdOL3+wEIBoO0221GRkZIJpMAPHv27OMm4CrUajVOTk7Y2dlBkiR8Ph/pdBqfz0c0GmVgYABd1zEMQ0QUe4vY28RWoO8nZDfFvRJQLpcpl8scHR2xubmJpmmsra1hGAbz8/NEIhHC4TCjo6NCS1xMutxutwi3DocDSZJuHSLvlQAbdg7QbDY5OzvDsiySyST1ep2joyNyuRzj4+NMTk6iqipwrjvsXMMwDPx+P5IkUalUbiWWekKADdM0yWazOBwO0um0SLNlWea7777j66+/Rtd1oRl8Ph8ej4dYLMbU1BT5fJ5EIkG1Wr2xDT0loNPpiLBpmua5QYqC0+mkWq1+kBPYobabyrCnBFyELamHh4eJxWLMzc2JvQ7nZOXzeXK5HJubm2xublIqlYT6vCk+CgJszaCqKgMDA4yNjTE0NCRc384d7AP0+PiYQqFwK9e30VMCFEURdYSFhQUikQjxeJypqSmGhobQdZ1msylyirW1NV6/fk0ikRBb5tY2dOVbbvrw/xLg9/tZWlpiYWGBaDTKw4cPRZwvl8vs7u6SSqX45Zdf+O2330TdoCs2dOVb/iHsEvvAwACPHz8mGAwyMzMjagqSJFEul0mlUhSLRTY2Nkin0xwcHFCtVmk2m107CHtCQH9/P3Nzc8TjcZ4+fUokEsHr9aKqqjj0crkcKysrHBwc8Pz5c7LZLIVCgbOzs67acq8E2DHe7/cTj8eJRCL09fXhdrsxTRPTNEWml8lk2N/f5/DwkGKxSLlc7uovb+NeCfB6vRiGweLiIk+fPhVFklKpRCqVolAoCCWYTCZZWVm51Eu4i1rhvREgSRKapuHz+RgaGiIajeJyuSgWi9TrdfL5PIeHh+RyOTKZDKlUisPDQ5FJ3hXuhQC7LvD48WOWlpaYnZ3F6/VSKBT48ccfyWQybG5uiupwrVYTtYC7xp0TIEkSsizjdDqJx+N89dVXhEIhVFWl0Wjw6tUrtre3efPmDdls9q7N+QB3ToCqqszOzjI0NMSjR48YGxsTvYD9/X3xqlQqd23KlbhzAtxuN4uLi0xNTTE/P8/ExAS5XI6dnR12d3fZ3t5mb2/vXpshF9H1AQnb5e14LkkSiqKgqiqKoiBJErVajUwmQy6Xo9ls9rQ32HUPsBfbarVoNBpIkoTb7UbTNBTl/HG5XI7V1VXS6TTlcvnj7g7/XTidTmRZRtd1PB4PlmVRqVTwer3i5XK5xPW21rfrfTYJF/sLqqrS6XS6qv3fR1cIkGWZeDxOIBBgdHSUWCxGrVYjm81iGAbLy8tMT0/j8/kAGBkZ4fvvvyeRSPD7779fEjp2HyEYDLK4uIhlWaysrLC/v98NUz9AVwiwW+jDw8OMj48zMzNDuVzG7Xbj9XoZGxtjZGREXO/xeIhGo9RqNZEDwPk8kaZp+P1+wuEwjx49otFosLq62g0zr8StCLALlbqus7i4yOLiIqFQiEgkgmmazM3NicbIRei6TjgcBuDJkyfkcjnq9TqmaTI8PCxyhLGxMQqFAl6v9zZm/iVuRYDd0PB6vczNzbG8vCzS3L+CqqqCuB9++IFKpUK1WsU0TSKRCA8ePBCV4/39/Q/mDbqJWxOgaRq6ruN2u0Wo+9sPv1ARspujfr8fWZbFoaiqqtha70+P2O11uyfZbrdpNpv/qE54KwJkWcbn8zE4OEhfXx8ej+fSSX8dXC4Xo6OjotUO/4sC9vd7vV5mZ2eB/3WQbZimSbFYxDRNarWaGNq4NwLsX8AWNolEQgxLybIsChz2e7vDoyiKcGt7sVfBFlGhUIhSqSQSJJfLhaZpWJbF6ekppmlyenpKvV5HURQajQaWZdFoNK7VGLfqDtv9OqfTycOHD0Ul154PiEaj4sQ3DEOQEw6HmZmZuTQ28//QbDbZ29vj9PSUbDbL0dER4XCY6elpoSpN0ySTyVAqlXjx4gWrq6sUi0X29vauLZ7e2gPsqY1UKsXR0ZH4pf1+P81mE6/XKxqh9jkhyzIjIyNXnhd21QjOCbYsC5/Ph6qq1Go1yuUyPp+P4eFhnE4npmmKeYNisci7d+/Es//Ku7pCwEUibPe0ld3Z2RmFQgGn08mrV69ETUCWZTFoeZUHxGIxJicnhSdJkiRmEZ8/f876+jqzs7O0Wi36+/uJx+NomkYwGBTzBpOTk7hcLra3t689D7omha96kD1eZ8M+A+zR26ta3PPz81SrVSGFnU4nw8PDuFwutra2ePHiBa1Wi8nJSer1OrFYDJfLJQ7hQCBAMBjk9PT0/jzg78Lu8FiWdWm46iKSyeSlfECWZQzDQFEU3rx5I/oEKysrGIbBy5cvcbvdIkSmUil2dnbI5/N/a4DizkZkbgp7C71PjiRJYpG2J111nR1SbbKvfR4fGQH3jX/9f4x8IqDXBvQanwjotQG9xicCem1Ar/GJgF4b0Gv8B1YtcPjCJ9uOAAAAAElFTkSuQmCC\" y=\"-22.271066\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m2786fe74df\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.067017\" xlink:href=\"#m2786fe74df\" y=\"86.271066\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(24.885767 100.869504)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 2034 4250 \r\nQ 1547 4250 1301 3770 \r\nQ 1056 3291 1056 2328 \r\nQ 1056 1369 1301 889 \r\nQ 1547 409 2034 409 \r\nQ 2525 409 2770 889 \r\nQ 3016 1369 3016 2328 \r\nQ 3016 3291 2770 3770 \r\nQ 2525 4250 2034 4250 \r\nz\r\nM 2034 4750 \r\nQ 2819 4750 3233 4129 \r\nQ 3647 3509 3647 2328 \r\nQ 3647 1150 3233 529 \r\nQ 2819 -91 2034 -91 \r\nQ 1250 -91 836 529 \r\nQ 422 1150 422 2328 \r\nQ 422 3509 836 4129 \r\nQ 1250 4750 2034 4750 \r\nz\r\n\" id=\"DejaVuSans-30\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"73.747689\" xlink:href=\"#m2786fe74df\" y=\"86.271066\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(67.385189 100.869504)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 1228 531 \r\nL 3431 531 \r\nL 3431 0 \r\nL 469 0 \r\nL 469 531 \r\nQ 828 903 1448 1529 \r\nQ 2069 2156 2228 2338 \r\nQ 2531 2678 2651 2914 \r\nQ 2772 3150 2772 3378 \r\nQ 2772 3750 2511 3984 \r\nQ 2250 4219 1831 4219 \r\nQ 1534 4219 1204 4116 \r\nQ 875 4013 500 3803 \r\nL 500 4441 \r\nQ 881 4594 1212 4672 \r\nQ 1544 4750 1819 4750 \r\nQ 2544 4750 2975 4387 \r\nQ 3406 4025 3406 3419 \r\nQ 3406 3131 3298 2873 \r\nQ 3191 2616 2906 2266 \r\nQ 2828 2175 2409 1742 \r\nQ 1991 1309 1228 531 \r\nz\r\n\" id=\"DejaVuSans-32\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_3\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"m868dbfc0ea\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"23.460142\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 27.259361)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"46.300478\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 50.099697)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 794 531 \r\nL 1825 531 \r\nL 1825 4091 \r\nL 703 3866 \r\nL 703 4441 \r\nL 1819 4666 \r\nL 2450 4666 \r\nL 2450 531 \r\nL 3481 531 \r\nL 3481 0 \r\nL 794 0 \r\nL 794 531 \r\nz\r\n\" id=\"DejaVuSans-31\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"69.140814\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 72.940033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 26.925 86.271066 \r\nL 26.925 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 90.877941 86.271066 \r\nL 90.877941 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 26.925 86.271066 \r\nL 90.877941 86.271066 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 26.925 22.318125 \r\nL 90.877941 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_6\">\r\n    <!-- 5 -->\r\n    <g transform=\"translate(55.083971 16.318125)scale(0.12 -0.12)\">\r\n     <defs>\r\n      <path d=\"M 691 4666 \r\nL 3169 4666 \r\nL 3169 4134 \r\nL 1269 4134 \r\nL 1269 2991 \r\nQ 1406 3038 1543 3061 \r\nQ 1681 3084 1819 3084 \r\nQ 2600 3084 3056 2656 \r\nQ 3513 2228 3513 1497 \r\nQ 3513 744 3044 326 \r\nQ 2575 -91 1722 -91 \r\nQ 1428 -91 1123 -41 \r\nQ 819 9 494 109 \r\nL 494 744 \r\nQ 775 591 1075 516 \r\nQ 1375 441 1709 441 \r\nQ 2250 441 2565 725 \r\nQ 2881 1009 2881 1497 \r\nQ 2881 1984 2565 2268 \r\nQ 2250 2553 1709 2553 \r\nQ 1456 2553 1204 2497 \r\nQ 953 2441 691 2322 \r\nL 691 4666 \r\nz\r\n\" id=\"DejaVuSans-35\" transform=\"scale(0.015625)\"/>\r\n     </defs>\r\n     <use xlink:href=\"#DejaVuSans-35\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_2\">\r\n   <g id=\"patch_7\">\r\n    <path d=\"M 145.089706 86.271066 \r\nL 209.042647 86.271066 \r\nL 209.042647 22.318125 \r\nL 145.089706 22.318125 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p1eb4a5c048)\">\r\n    <image height=\"64\" id=\"image89455b7814\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"145.089706\" xlink:href=\"data:image/png;base64,\r\n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\" y=\"-22.271066\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_3\">\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"146.231723\" xlink:href=\"#m2786fe74df\" y=\"86.271066\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(143.050473 100.869504)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"191.912395\" xlink:href=\"#m2786fe74df\" y=\"86.271066\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(185.549895 100.869504)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_4\">\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"23.460142\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(131.727206 27.259361)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"46.300478\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(125.364706 50.099697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"69.140814\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(125.364706 72.940033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_8\">\r\n    <path d=\"M 145.089706 86.271066 \r\nL 145.089706 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_9\">\r\n    <path d=\"M 209.042647 86.271066 \r\nL 209.042647 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_10\">\r\n    <path d=\"M 145.089706 86.271066 \r\nL 209.042647 86.271066 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_11\">\r\n    <path d=\"M 145.089706 22.318125 \r\nL 209.042647 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_12\">\r\n    <!-- 0 -->\r\n    <g transform=\"translate(173.248676 16.318125)scale(0.12 -0.12)\">\r\n     <use xlink:href=\"#DejaVuSans-30\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_3\">\r\n   <g id=\"patch_12\">\r\n    <path d=\"M 263.254412 86.271066 \r\nL 327.207353 86.271066 \r\nL 327.207353 22.318125 \r\nL 263.254412 22.318125 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#pd0478e2c3d)\">\r\n    <image height=\"64\" id=\"imageefb17d94cd\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"263.254412\" xlink:href=\"data:image/png;base64,\r\n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\" y=\"-22.271066\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_5\">\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"264.396429\" xlink:href=\"#m2786fe74df\" y=\"86.271066\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(261.215179 100.869504)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"310.077101\" xlink:href=\"#m2786fe74df\" y=\"86.271066\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_14\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(303.714601 100.869504)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_6\">\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"23.460142\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_15\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(249.891912 27.259361)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_8\">\r\n     <g id=\"line2d_14\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"46.300478\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_16\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(243.529412 50.099697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_9\">\r\n     <g id=\"line2d_15\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"69.140814\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_17\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(243.529412 72.940033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_13\">\r\n    <path d=\"M 263.254412 86.271066 \r\nL 263.254412 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_14\">\r\n    <path d=\"M 327.207353 86.271066 \r\nL 327.207353 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_15\">\r\n    <path d=\"M 263.254412 86.271066 \r\nL 327.207353 86.271066 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_16\">\r\n    <path d=\"M 263.254412 22.318125 \r\nL 327.207353 22.318125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_18\">\r\n    <!-- 4 -->\r\n    <g transform=\"translate(291.413382 16.318125)scale(0.12 -0.12)\">\r\n     <defs>\r\n      <path d=\"M 2419 4116 \r\nL 825 1625 \r\nL 2419 1625 \r\nL 2419 4116 \r\nz\r\nM 2253 4666 \r\nL 3047 4666 \r\nL 3047 1625 \r\nL 3713 1625 \r\nL 3713 1100 \r\nL 3047 1100 \r\nL 3047 0 \r\nL 2419 0 \r\nL 2419 1100 \r\nL 313 1100 \r\nL 313 1709 \r\nL 2253 4666 \r\nz\r\n\" id=\"DejaVuSans-34\" transform=\"scale(0.015625)\"/>\r\n     </defs>\r\n     <use xlink:href=\"#DejaVuSans-34\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_4\">\r\n   <g id=\"patch_17\">\r\n    <path d=\"M 26.925 163.014596 \r\nL 90.877941 163.014596 \r\nL 90.877941 99.061654 \r\nL 26.925 99.061654 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p86658145f8)\">\r\n    <image height=\"64\" id=\"image50a13ff984\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"26.925\" xlink:href=\"data:image/png;base64,\r\n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\" y=\"-99.014596\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_7\">\r\n    <g id=\"xtick_7\">\r\n     <g id=\"line2d_16\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.067017\" xlink:href=\"#m2786fe74df\" y=\"163.014596\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_19\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(24.885767 177.613033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_8\">\r\n     <g id=\"line2d_17\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"73.747689\" xlink:href=\"#m2786fe74df\" y=\"163.014596\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_20\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(67.385189 177.613033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_8\">\r\n    <g id=\"ytick_10\">\r\n     <g id=\"line2d_18\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"100.203671\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_21\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 104.00289)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_11\">\r\n     <g id=\"line2d_19\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"123.044007\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_22\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 126.843226)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_12\">\r\n     <g id=\"line2d_20\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"145.884343\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_23\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 149.683562)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_18\">\r\n    <path d=\"M 26.925 163.014596 \r\nL 26.925 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_19\">\r\n    <path d=\"M 90.877941 163.014596 \r\nL 90.877941 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_20\">\r\n    <path d=\"M 26.925 163.014596 \r\nL 90.877941 163.014596 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_21\">\r\n    <path d=\"M 26.925 99.061654 \r\nL 90.877941 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_24\">\r\n    <!-- 1 -->\r\n    <g transform=\"translate(55.083971 93.061654)scale(0.12 -0.12)\">\r\n     <use xlink:href=\"#DejaVuSans-31\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_5\">\r\n   <g id=\"patch_22\">\r\n    <path d=\"M 145.089706 163.014596 \r\nL 209.042647 163.014596 \r\nL 209.042647 99.061654 \r\nL 145.089706 99.061654 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p7fb1c774aa)\">\r\n    <image height=\"64\" id=\"image168b805948\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"145.089706\" xlink:href=\"data:image/png;base64,\r\n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\" y=\"-99.014596\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_9\">\r\n    <g id=\"xtick_9\">\r\n     <g id=\"line2d_21\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"146.231723\" xlink:href=\"#m2786fe74df\" y=\"163.014596\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_25\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(143.050473 177.613033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_10\">\r\n     <g id=\"line2d_22\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"191.912395\" xlink:href=\"#m2786fe74df\" y=\"163.014596\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_26\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(185.549895 177.613033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_10\">\r\n    <g id=\"ytick_13\">\r\n     <g id=\"line2d_23\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"100.203671\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_27\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(131.727206 104.00289)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_14\">\r\n     <g id=\"line2d_24\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"123.044007\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_28\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(125.364706 126.843226)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_15\">\r\n     <g id=\"line2d_25\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"145.884343\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_29\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(125.364706 149.683562)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_23\">\r\n    <path d=\"M 145.089706 163.014596 \r\nL 145.089706 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_24\">\r\n    <path d=\"M 209.042647 163.014596 \r\nL 209.042647 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_25\">\r\n    <path d=\"M 145.089706 163.014596 \r\nL 209.042647 163.014596 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_26\">\r\n    <path d=\"M 145.089706 99.061654 \r\nL 209.042647 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_30\">\r\n    <!-- 9 -->\r\n    <g transform=\"translate(173.248676 93.061654)scale(0.12 -0.12)\">\r\n     <defs>\r\n      <path d=\"M 703 97 \r\nL 703 672 \r\nQ 941 559 1184 500 \r\nQ 1428 441 1663 441 \r\nQ 2288 441 2617 861 \r\nQ 2947 1281 2994 2138 \r\nQ 2813 1869 2534 1725 \r\nQ 2256 1581 1919 1581 \r\nQ 1219 1581 811 2004 \r\nQ 403 2428 403 3163 \r\nQ 403 3881 828 4315 \r\nQ 1253 4750 1959 4750 \r\nQ 2769 4750 3195 4129 \r\nQ 3622 3509 3622 2328 \r\nQ 3622 1225 3098 567 \r\nQ 2575 -91 1691 -91 \r\nQ 1453 -91 1209 -44 \r\nQ 966 3 703 97 \r\nz\r\nM 1959 2075 \r\nQ 2384 2075 2632 2365 \r\nQ 2881 2656 2881 3163 \r\nQ 2881 3666 2632 3958 \r\nQ 2384 4250 1959 4250 \r\nQ 1534 4250 1286 3958 \r\nQ 1038 3666 1038 3163 \r\nQ 1038 2656 1286 2365 \r\nQ 1534 2075 1959 2075 \r\nz\r\n\" id=\"DejaVuSans-39\" transform=\"scale(0.015625)\"/>\r\n     </defs>\r\n     <use xlink:href=\"#DejaVuSans-39\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_6\">\r\n   <g id=\"patch_27\">\r\n    <path d=\"M 263.254412 163.014596 \r\nL 327.207353 163.014596 \r\nL 327.207353 99.061654 \r\nL 263.254412 99.061654 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p177cca3789)\">\r\n    <image height=\"64\" id=\"image92a4385357\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"263.254412\" xlink:href=\"data:image/png;base64,\r\n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\" y=\"-99.014596\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_11\">\r\n    <g id=\"xtick_11\">\r\n     <g id=\"line2d_26\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"264.396429\" xlink:href=\"#m2786fe74df\" y=\"163.014596\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_31\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(261.215179 177.613033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_12\">\r\n     <g id=\"line2d_27\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"310.077101\" xlink:href=\"#m2786fe74df\" y=\"163.014596\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_32\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(303.714601 177.613033)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_12\">\r\n    <g id=\"ytick_16\">\r\n     <g id=\"line2d_28\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"100.203671\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_33\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(249.891912 104.00289)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_17\">\r\n     <g id=\"line2d_29\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"123.044007\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_34\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(243.529412 126.843226)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_18\">\r\n     <g id=\"line2d_30\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"145.884343\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_35\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(243.529412 149.683562)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_28\">\r\n    <path d=\"M 263.254412 163.014596 \r\nL 263.254412 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_29\">\r\n    <path d=\"M 327.207353 163.014596 \r\nL 327.207353 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_30\">\r\n    <path d=\"M 263.254412 163.014596 \r\nL 327.207353 163.014596 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_31\">\r\n    <path d=\"M 263.254412 99.061654 \r\nL 327.207353 99.061654 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_36\">\r\n    <!-- 2 -->\r\n    <g transform=\"translate(291.413382 93.061654)scale(0.12 -0.12)\">\r\n     <use xlink:href=\"#DejaVuSans-32\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_7\">\r\n   <g id=\"patch_32\">\r\n    <path d=\"M 26.925 239.758125 \r\nL 90.877941 239.758125 \r\nL 90.877941 175.805184 \r\nL 26.925 175.805184 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#pf8c3c9ea06)\">\r\n    <image height=\"64\" id=\"imageb00dc7e3e1\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"26.925\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEuElEQVR4nO2bzW7aWhRGl/+wXbBlfgwNSgdVm6rpoANmldpX6Bv2MfoOHXSAVAl1kIqmUBrANTEBp47N4Y7ghiS90pVin0plSQwgCH0stn22t08UYM1fjCo7gGz2AmQHkM1egOwAstkLkB1ANrrsAKqqoqoqlUoF0zS3zzcIIYiiiCRJEEKwXt9v2yJVgK7ruK5LpVLh7du3vHz5Etd18TwPAEVR+PnzJ+/evaPX6zGfz1kul/eb4V4/7X+iKAqWZeE4DsfHx7x69YpGo4Hv+yiKAsBoNOL9+/f0+33iOL73DFIFGIZBrVbD932azSatVgvLsgrNIFWApml4nke9Xqder1Or1QrPIFWAaZo8evSIw8NDKpWKlAxSBZTLZTqdDk+ePMH3fSkZpB8C5XIZx3HQdX174ttw83keSG2EDMOg1WrRbrcpl8s7f1MUBUVRUFU1VxFSKkBVVTRNwzRNbNvGtm10fTeKEAIhBGmaslqtcmmCQJKAVqvF8+fPefr0KYeHh9TrdUql0s57wjCk1+sxGAzo9/sEQUCSJPeeRYoA13V59uwZjx8/plqtbsv/+i+8XC45OTlhMBgQBAGLxSKXLFLOAYZhUK1WcV0XTdNkRNgiRYBlWTQaDWq12q1jv2ikCCiXy7TbbZrNJoZh3PmeJEn48eMH4/GYq6ur3LJI0f/w4UPevHmD53mYpnnne2azGR8+fGA4HHJ+fp5bFikCdF2nUqlQLpdvLW1pmpKmKcvlkiiKiKKINE3zy5LbJ/8HNxuc6xLG4zGnp6d8+vSJwWDAdDrNZfnbIH0idJM4jhmPxwRBwMXFRS4zgOtIOQmu1+udx3WiKOLr16+cnZ2xWq1yzyKtAq5/+esS5vM5w+GQIAjIsiz3HH/9VHgvQHYA2ewFyA4A/w4/ZCBFwOYL3zUCK1qEtAr4nYSikSbgd41Q0UjvBO96vUgK7QRrtRqu6+L7/s4dYJlVUJgAVVV58eIFnU6HTqcjfRK0oZAUmzG453kcHBzged5OBQBcXl5u5wCXl5ckSVJIZeQuYLP5wbZtjo+Pef36Nb7v7wxD0zTl48eP9Pt9ut0u3W6XMAxzHYRsyF2AoigYhoFpmlSrVQ4ODnAcZ6cCsixjPB7z5csXvn37xmQyIY5jhBB5x8t/FViv12RZxtXV1XbMFcfxrfIOw5DhcMhkMmE2m7FYLAoRkHsFbARkWUYcx8znc2zb3hEghOD8/JyzszOCIGA+nxe2MhTSB2wqYLFYMJvNWC6X0hugDYVUQJIkrFYrgiDg+/fvd06DZVFIBWx6fk3Tbm2Dk01hq0CpVMJxHBqNBo7jSL8I2lDIT6FpGrqub/cD3LwVLpNCKsC2bR48eEC73ebo6AjXdf+Yw6CwQ8CyLDzPo9lsUiqV7hQg48RYSCO0Wf8HgwG9Xo/RaLTdAhNFEWEYbh953wm6Se4ChBBcXFwQhiEnJyd0u11OT08RQpBlGWEYMplMmE6nTKfTwnuEwq5JhRBMJhM+f/68bYWFEEynU6IoYjQaba8Ii0ShwH+bs20by7LQdX27JzjLMoQQLBYLfv36ldtusN9RqIA/kT9jLZLIXoDsALLZC5AdQDZ7AbIDyOYfASYqHPk3C6kAAAAASUVORK5CYII=\" y=\"-175.758125\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_13\">\r\n    <g id=\"xtick_13\">\r\n     <g id=\"line2d_31\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.067017\" xlink:href=\"#m2786fe74df\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_37\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(24.885767 254.356563)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_14\">\r\n     <g id=\"line2d_32\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"73.747689\" xlink:href=\"#m2786fe74df\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_38\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(67.385189 254.356563)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_14\">\r\n    <g id=\"ytick_19\">\r\n     <g id=\"line2d_33\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"176.947201\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_39\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 180.746419)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_20\">\r\n     <g id=\"line2d_34\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"199.787537\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_40\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 203.586756)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_21\">\r\n     <g id=\"line2d_35\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m868dbfc0ea\" y=\"222.627873\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_41\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 226.427092)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_33\">\r\n    <path d=\"M 26.925 239.758125 \r\nL 26.925 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_34\">\r\n    <path d=\"M 90.877941 239.758125 \r\nL 90.877941 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_35\">\r\n    <path d=\"M 26.925 239.758125 \r\nL 90.877941 239.758125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_36\">\r\n    <path d=\"M 26.925 175.805184 \r\nL 90.877941 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_42\">\r\n    <!-- 1 -->\r\n    <g transform=\"translate(55.083971 169.805184)scale(0.12 -0.12)\">\r\n     <use xlink:href=\"#DejaVuSans-31\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_8\">\r\n   <g id=\"patch_37\">\r\n    <path d=\"M 145.089706 239.758125 \r\nL 209.042647 239.758125 \r\nL 209.042647 175.805184 \r\nL 145.089706 175.805184 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p7036d13227)\">\r\n    <image height=\"64\" id=\"image05a2fd0673\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"145.089706\" xlink:href=\"data:image/png;base64,\r\n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\" y=\"-175.758125\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_15\">\r\n    <g id=\"xtick_15\">\r\n     <g id=\"line2d_36\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"146.231723\" xlink:href=\"#m2786fe74df\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_43\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(143.050473 254.356563)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_16\">\r\n     <g id=\"line2d_37\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"191.912395\" xlink:href=\"#m2786fe74df\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_44\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(185.549895 254.356563)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_16\">\r\n    <g id=\"ytick_22\">\r\n     <g id=\"line2d_38\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"176.947201\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_45\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(131.727206 180.746419)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_23\">\r\n     <g id=\"line2d_39\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"199.787537\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_46\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(125.364706 203.586756)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_24\">\r\n     <g id=\"line2d_40\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#m868dbfc0ea\" y=\"222.627873\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_47\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(125.364706 226.427092)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_38\">\r\n    <path d=\"M 145.089706 239.758125 \r\nL 145.089706 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_39\">\r\n    <path d=\"M 209.042647 239.758125 \r\nL 209.042647 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_40\">\r\n    <path d=\"M 145.089706 239.758125 \r\nL 209.042647 239.758125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_41\">\r\n    <path d=\"M 145.089706 175.805184 \r\nL 209.042647 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_48\">\r\n    <!-- 3 -->\r\n    <g transform=\"translate(173.248676 169.805184)scale(0.12 -0.12)\">\r\n     <defs>\r\n      <path d=\"M 2597 2516 \r\nQ 3050 2419 3304 2112 \r\nQ 3559 1806 3559 1356 \r\nQ 3559 666 3084 287 \r\nQ 2609 -91 1734 -91 \r\nQ 1441 -91 1130 -33 \r\nQ 819 25 488 141 \r\nL 488 750 \r\nQ 750 597 1062 519 \r\nQ 1375 441 1716 441 \r\nQ 2309 441 2620 675 \r\nQ 2931 909 2931 1356 \r\nQ 2931 1769 2642 2001 \r\nQ 2353 2234 1838 2234 \r\nL 1294 2234 \r\nL 1294 2753 \r\nL 1863 2753 \r\nQ 2328 2753 2575 2939 \r\nQ 2822 3125 2822 3475 \r\nQ 2822 3834 2567 4026 \r\nQ 2313 4219 1838 4219 \r\nQ 1578 4219 1281 4162 \r\nQ 984 4106 628 3988 \r\nL 628 4550 \r\nQ 988 4650 1302 4700 \r\nQ 1616 4750 1894 4750 \r\nQ 2613 4750 3031 4423 \r\nQ 3450 4097 3450 3541 \r\nQ 3450 3153 3228 2886 \r\nQ 3006 2619 2597 2516 \r\nz\r\n\" id=\"DejaVuSans-33\" transform=\"scale(0.015625)\"/>\r\n     </defs>\r\n     <use xlink:href=\"#DejaVuSans-33\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_9\">\r\n   <g id=\"patch_42\">\r\n    <path d=\"M 263.254412 239.758125 \r\nL 327.207353 239.758125 \r\nL 327.207353 175.805184 \r\nL 263.254412 175.805184 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#pe89571fa90)\">\r\n    <image height=\"64\" id=\"image40bc412e1f\" transform=\"scale(1 -1)translate(0 -64)\" width=\"64\" x=\"263.254412\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEHklEQVR4nO2bOU/rShiGHy/jOOCQALEISViEFBB00PMnKPhp/AsqKho6agQFDU2UiEXRCWQBE8fbKSJbh3OvbpeZ6Cav5HreeTwz3zK2BiTMsXTVBlRrAUC1AdVaAFBtQLVMlYPbtk2tViOfz2NZFqZp0ul0eHt7I4oigiCYugelANbX1zk/P2d7exvXdXEch+vray4vL/E8j4+PD6IomqoHpQCEEGxsbFCtVtnY2KBQKLC6uooQAsMwpHhQvgV2dnbY399nZWUF27YplUoIITBNE03Tpu5BKQBd1ykUChSLRZaXl7Esi1wuh2ma6Lqc81lpFBiNRjw9PfH4+MhgMMA0TRzHwXVdVldXpUBQugJ836fZbAJQr9cxDIOlpSXK5TJBEEg5B5QCAEiSSS2Whr1+v8/z8zPdbpcwDKc+vnIAMIEwHo8ZjUa8vLxwf3/PeDyWkgfMVCaYJAlRFBGG4dTjf6qZAqBpGoZhYJrmfOQBQDbh9MQXQpDP5wEIwzA7I6YlpSvAtm329vY4ODigXC5j2zZHR0ecnZ1xenqagZimlAIQQuC6LpVKheXlZYQQVKtVTk5OaDQaWJY1dQ9KtoDjOJTLZXZ3d3Fdl1KphGEYhGHI6+srd3d3tFqt/281WCwWOTw8pNFosLm5SblcJgxDwjCk1Wpxe3tLv9/H9/2pe1GyBTRNQ9d1DMNA07QfRU8cx1kYnPYBCAoBGIaBrus/Jj83eUD69tMVAJPJx3H8YwXIkJIzQAjB2toaxWIxi//p5D3Po9vt4vu+FAhKAJimST6fx7btLONLkoQkSQiCgO/vbymFECjaAo7jsLu7S61WkxLr/0vKANTrdSqVCkIIFRYyKa0F0gMwjmPe39/p9Xr0+32pHpQXQzBphrTbbZrNJi8vL1Lif6qZKYfThois8JdqJgAkScJoNOLz8xPf9+dzBcRxTBRFxHEsddyZAaBKcw9AahRI218rKytUq1Vc152vPEAIQS6XY21tjZ2dHUqlEpZlSUt7/01St0DaB9A0LfseQNO07F5AZg2QSgkAy7KyYigFMBgM6HQ6DIdDmZbkA/j7gUke4Ps+nudJ6QP+qZmIAnEc8+vXL5rNJh8fH/OVCKVb4Pv7m8FgwGg0kjq+UgB/9gPTXuBcZoKapv0AMFdbAJA64b81EwBUSmlDJL0HCIKAMAwJgmC++gFRFDEcDun3+1k7THYUkLoC0tZ3GIZ4ngdMPpQaj8fZI3sFSAWQZnkPDw9cXFzgui7Hx8fouk6v12MwGEivBaQCSN9uu93m5uaGra0tarUajuPgeZ705Q8KtkAURXx9ffH8/MzX1xdXV1dYlkWr1ZJpJZOGop+m0mIovRuUdR3+Dx8s/hqbby0AqDagWgsAqg2o1gKAagOqtQCg2oBq/QaZ3uqXJvb5ggAAAABJRU5ErkJggg==\" y=\"-175.758125\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_17\">\r\n    <g id=\"xtick_17\">\r\n     <g id=\"line2d_41\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"264.396429\" xlink:href=\"#m2786fe74df\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_49\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(261.215179 254.356563)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_18\">\r\n     <g id=\"line2d_42\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"310.077101\" xlink:href=\"#m2786fe74df\" y=\"239.758125\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_50\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(303.714601 254.356563)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_18\">\r\n    <g id=\"ytick_25\">\r\n     <g id=\"line2d_43\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"176.947201\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_51\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(249.891912 180.746419)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_26\">\r\n     <g id=\"line2d_44\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"199.787537\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_52\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(243.529412 203.586756)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_27\">\r\n     <g id=\"line2d_45\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#m868dbfc0ea\" y=\"222.627873\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_53\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(243.529412 226.427092)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_43\">\r\n    <path d=\"M 263.254412 239.758125 \r\nL 263.254412 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_44\">\r\n    <path d=\"M 327.207353 239.758125 \r\nL 327.207353 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_45\">\r\n    <path d=\"M 263.254412 239.758125 \r\nL 327.207353 239.758125 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_46\">\r\n    <path d=\"M 263.254412 175.805184 \r\nL 327.207353 175.805184 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"text_54\">\r\n    <!-- 1 -->\r\n    <g transform=\"translate(291.413382 169.805184)scale(0.12 -0.12)\">\r\n     <use xlink:href=\"#DejaVuSans-31\"/>\r\n    </g>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p1ca3bf9a33\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"26.925\" y=\"22.318125\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p1eb4a5c048\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"145.089706\" y=\"22.318125\"/>\r\n  </clipPath>\r\n  <clipPath id=\"pd0478e2c3d\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"263.254412\" y=\"22.318125\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p86658145f8\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"26.925\" y=\"99.061654\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p7fb1c774aa\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"145.089706\" y=\"99.061654\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p177cca3789\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"263.254412\" y=\"99.061654\"/>\r\n  </clipPath>\r\n  <clipPath id=\"pf8c3c9ea06\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"26.925\" y=\"175.805184\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p7036d13227\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"145.089706\" y=\"175.805184\"/>\r\n  </clipPath>\r\n  <clipPath id=\"pe89571fa90\">\r\n   <rect height=\"63.952941\" width=\"63.952941\" x=\"263.254412\" y=\"175.805184\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "本实验的任务就是利用 PyTorch 建立一个神经网络模型，用以识别上面的这种手写字符图片。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "因此，模型的输入节点数和输出节点数为："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "source": [
    "# 输入节点数就为图片的大小：28×28×1\r\n",
    "input_size = 784\r\n",
    "# 由于数字为 0-9，因此是10分类问题，因此输出节点数为 10\r\n",
    "num_classes = 10\r\n",
    "input_size, num_classes"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(784, 10)"
      ]
     },
     "metadata": {},
     "execution_count": 26
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "source": [
    "# 输入节点数就为图片的大小：28×28×1\r\n",
    "input_size = 28*28*1\r\n",
    "# 由于数字为 0-9，因此是10分类问题，因此输出节点数为 10\r\n",
    "num_classes = 10\r\n",
    "input_size, num_classes"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "(784, 10)"
      ]
     },
     "metadata": {},
     "execution_count": 27
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "还记得上一章节我们所说的自定义网络模型必须满足的两个条件吗？"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "- 类必须继承 `nn.Module`。\n",
    "- 类必须实现 `__init__` 和 `forward` 函数。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "接下来，让我们利用 PyTorch 建立一个简单的神经网络模型用于手写字符的识别。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "source": [
    "# 包含了一个隐含层的全连接神经网络\r\n",
    "class NeuralNet(nn.Module):\r\n",
    "    # 输入数据的维度，中间层的节点数，输出数据的维度\r\n",
    "    def __init__(self, input_size, hidden_size, num_classes):\r\n",
    "        super(NeuralNet, self).__init__()\r\n",
    "        self.input_size = input_size\r\n",
    "        self.l1 = nn.Linear(input_size, hidden_size)\r\n",
    "        self.relu = nn.ReLU()\r\n",
    "        self.l2 = nn.Linear(hidden_size, num_classes)\r\n",
    "\r\n",
    "    def forward(self, x):\r\n",
    "        out = self.l1(x)\r\n",
    "        out = self.relu(out)\r\n",
    "        out = self.l2(out)\r\n",
    "        return out\r\n",
    "\r\n",
    "\r\n",
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\r\n",
    "# 建立了一个中间层为 500 的三层神经网络，且将模型转为当前环境支持的类型（CPU 或 GPU）\r\n",
    "model = NeuralNet(input_size, 500, num_classes).to(device)\r\n",
    "model"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "NeuralNet(\n",
       "  (l1): Linear(in_features=784, out_features=500, bias=True)\n",
       "  (relu): ReLU()\n",
       "  (l2): Linear(in_features=500, out_features=10, bias=True)\n",
       ")"
      ]
     },
     "metadata": {},
     "execution_count": 28
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "source": [
    "# 定义2层的全连接神经网络，激活函数为relu\r\n",
    "class MyModel(nn.Module):\r\n",
    "    def __init__(self,input_size):\r\n",
    "        super(MyModel, self).__init__()\r\n",
    "        self.liner1 = nn.Linear(in_features=input_size,out_features=128)\r\n",
    "        self.relu = nn.ReLU()\r\n",
    "        self.liner2 = nn.Linear(in_features=128,out_features=10)\r\n",
    "\r\n",
    "    def forward(self,x):\r\n",
    "        x = self.liner1(x)\r\n",
    "        x = self.relu(x)\r\n",
    "        x = self.liner2(x)\r\n",
    "        x = self.relu(x)\r\n",
    "        x = self.softmax(x)\r\n",
    "        return x\r\n",
    "    \r\n",
    "my_model = MyModel(28*28*1)\r\n",
    "my_model"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "MyModel(\n",
       "  (liner1): Linear(in_features=784, out_features=128, bias=True)\n",
       "  (relu): ReLU()\n",
       "  (liner2): Linear(in_features=128, out_features=10, bias=True)\n",
       ")"
      ]
     },
     "metadata": {},
     "execution_count": 32
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "从上面的数据结构可以知道，该神经网络模型一共有三层。\n",
    "\n",
    "- 第一层为输入层，节点数量和图像大小相同。\n",
    "- 第二次为隐藏层，节点数为 500 。\n",
    "- 第三层为输出层，节点大小为 10 ，节点数大小和类别相同。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 损失和优化器的定义"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "定义完模型后，接下来，我们需要定义模型训练时所需要的损失函数和优化器。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "这里我们就使用之前讲过的交叉熵损失函数："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "source": [
    "criterion = nn.CrossEntropyLoss()\r\n",
    "criterion"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "CrossEntropyLoss()"
      ]
     },
     "metadata": {},
     "execution_count": 33
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "source": [
    "criterion = nn.CrossEntropyLoss()\r\n",
    "criterion"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "CrossEntropyLoss()"
      ]
     },
     "metadata": {},
     "execution_count": 35
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "由于传统梯度下降算法存在一定的缺陷，比如学习率一直不变。因此，我们利用 PyTorch 中定义的梯度下降算法的优化算法，Adam 算法，来进行模型的训练。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "# 此时学习率为 0.001 ，你也可以根据实际情况，自行设置\r\n",
    "learning_rate = 0.001\r\n",
    "# 定义 Adam 优化器用于梯度下降\r\n",
    "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)\r\n",
    "optimizer"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "source": [
    "# 设置学习率\r\n",
    "learning_rate = 0.001\r\n",
    "optimizer = torch.optim.Adam(model.parameters(),lr=learning_rate)\r\n",
    "optimizer"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "Adam (\n",
       "Parameter Group 0\n",
       "    amsgrad: False\n",
       "    betas: (0.9, 0.999)\n",
       "    eps: 1e-08\n",
       "    lr: 0.001\n",
       "    weight_decay: 0\n",
       ")"
      ]
     },
     "metadata": {},
     "execution_count": 36
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 模型的训练"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "模型训练的步骤和之前实验提到的步骤一致，这些步骤可以说是固定的："
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "- 通过模型的正向传播，输出预测结果。\n",
    "- 通过预测结果和真实标签计算损失。\n",
    "- 通过后向传播，获得梯度。\n",
    "- 通过梯度更新模型的权重。\n",
    "- 进行梯度的清空。\n",
    "- 循环上面操作，直到损失较小为止。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "让我们用代码完成上面的步骤："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "source": [
    "num_epochs = 2\r\n",
    "# 数据总长度\r\n",
    "n_total_steps = len(train_loader)\r\n",
    "for epoch in range(num_epochs):\r\n",
    "    for i, (images, labels) in enumerate(train_loader):\r\n",
    "        # 因为全连接会把一行数据当做一条数据，因此我们需要将一张图片转换到一行上\r\n",
    "        # 原始数据集的大小: [100, 1, 28, 28]\r\n",
    "        # 将每一张图片都转为一行向量，\r\n",
    "        # resize 后的向量大小: [100, 784]\r\n",
    "        images = images.reshape(-1, 28*28).to(device)\r\n",
    "        labels = labels.to(device)\r\n",
    "\r\n",
    "        # 正向传播以及损失的求取\r\n",
    "        outputs = model(images)\r\n",
    "        loss = criterion(outputs, labels)\r\n",
    "\r\n",
    "        # 反向传播\r\n",
    "        # 下面三句话固定：梯度清空，反向传播，权重更新\r\n",
    "        optimizer.zero_grad()\r\n",
    "        loss.backward()\r\n",
    "        optimizer.step()\r\n",
    "\r\n",
    "        if (i+1) % 100 == 0:\r\n",
    "            print(\r\n",
    "                f'Epoch [{epoch+1}/{num_epochs}], Step [{i+1}/{n_total_steps}], Loss: {loss.item():.4f}')\r\n",
    "print(\"模型训练完成\")"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Epoch [1/2], Step [100/600], Loss: 0.2630\n",
      "Epoch [1/2], Step [200/600], Loss: 0.2380\n",
      "Epoch [1/2], Step [300/600], Loss: 0.1760\n",
      "Epoch [1/2], Step [400/600], Loss: 0.1559\n",
      "Epoch [1/2], Step [500/600], Loss: 0.1708\n",
      "Epoch [1/2], Step [600/600], Loss: 0.1220\n",
      "Epoch [2/2], Step [100/600], Loss: 0.1703\n",
      "Epoch [2/2], Step [200/600], Loss: 0.0996\n",
      "Epoch [2/2], Step [300/600], Loss: 0.1262\n",
      "Epoch [2/2], Step [400/600], Loss: 0.0578\n",
      "Epoch [2/2], Step [500/600], Loss: 0.0666\n",
      "Epoch [2/2], Step [600/600], Loss: 0.1057\n",
      "模型训练完成\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "从结果可以看出我们的模型已经训练完毕。接下来，让我们先放入几张图片观察一下，预测结果是否和真实一致："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "source": [
    "# 测试样例\r\n",
    "examples = iter(test_loader)\r\n",
    "example_data, example_targets = examples.next()\r\n",
    "\r\n",
    "# 图片的展示\r\n",
    "for i in range(3):\r\n",
    "    plt.subplot(1, 3, i+1)\r\n",
    "    plt.imshow(example_data[i][0], cmap='gray')\r\n",
    "plt.show()\r\n",
    "\r\n",
    "# 结果的预测\r\n",
    "images = example_data\r\n",
    "images = images.reshape(-1, 28*28).to(device)\r\n",
    "labels = labels.to(device)\r\n",
    "\r\n",
    "# 正向传播以及损失的求取\r\n",
    "outputs = model(images)\r\n",
    "# 将 Tensor 类型的变量 example_targets 转为 numpy 类型的，方便展示\r\n",
    "print(\"上面三张图片的真实结果：\", example_targets[0:3].detach().numpy())\r\n",
    "# 将得到预测结果\r\n",
    "# 由于预测结果是 N×10 的矩阵，因此利用 np.argmax 函数取每行最大的那个值，最为预测值\r\n",
    "print(\"上面三张图片的预测结果：\", np.argmax(outputs[0:3].detach().numpy(), axis=1))"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ],
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<svg height=\"131.589529pt\" version=\"1.1\" viewBox=\"0 0 368.925 131.589529\" width=\"368.925pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n   <cc:Work>\r\n    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n    <dc:date>2021-08-13T19:32:20.074120</dc:date>\r\n    <dc:format>image/svg+xml</dc:format>\r\n    <dc:creator>\r\n     <cc:Agent>\r\n      <dc:title>Matplotlib v3.4.2, https://matplotlib.org/</dc:title>\r\n     </cc:Agent>\r\n    </dc:creator>\r\n   </cc:Work>\r\n  </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M -0 131.589529 \r\nL 368.925 131.589529 \r\nL 368.925 0 \r\nL -0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 26.925 107.711404 \r\nL 125.395588 107.711404 \r\nL 125.395588 9.240815 \r\nL 26.925 9.240815 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p985f935c06)\">\r\n    <image height=\"99\" id=\"image5b41db5d66\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"26.925\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAAEJUlEQVR4nO2cyyt2URTGt48M3GNAKYkBISm3kkiKEuU6MDA1EiMTpUxIiYEYyED5D8iElMtAidwGShlJGVJukcs3W/Y6dU7e873v8by+5zd6Vqt9ztbT2vvY7947xhjzaQgEf366A+QLmgEEzQCCZgBBM4CgGUDQDCBoBhA0AwiaAUSc34aTk5MqHh4e/la78/NzFa+trYl+e3tTuenpadF3d3ch9jD6YGUAQTOAiDE+V22rq6tVbA9TVVVVKpedne3nFebp6Un07Oysyk1MTIh+fHz09Xw0WBlA0AwgaAYQvucML9LT01W8sLAguqysTOXy8vJ8vWNvb0+0/QlsjDHr6+sqfn5+9vWOoGFlAEEzgIjIMOVFZmamiouKikTPzc2pXGFhoa937O/vq3hqakr0ysqKyn18fPh6RyRgZQBBM4CgGUAEPmd4kZWVpeLe3l7RAwMDKpebm+vrHYeHhyoeHx8Xvbq66uuZ4YKVAQTNAAJqmPKioKBAxfaw1dnZqXLO4c6L9/d30ZubmyrX0tISShf/GVYGEDQDCJoBRNTMGV6UlpaquLu7W8WVlZWim5qaXJ9zdnam4vLyctFBLJuwMoCgGUD8imEqFF5eXlQcF/e1dcy5b6u5uVn09vZ2RPtlDCsDCpoBBM0AwvdeW2TS0tJU3NbWJjo2Nta13e7uroqDmCdsWBlA0AwgfsUwVVJSouKZmRkVNzY2ura193TZPzT9BKwMIGgGEDQDiKidMzo6OkQvLS2pXHJysmu7kZERFS8vL4u+ubkJU+/8wcoAgmYAQTOAiJol9Pz8fBUfHR2Jdh5L3traUrG9cW1+fl7lPj9x/nxWBhA0AwjoT9vExETRi4uLKpeUlCS6p6dH5TY2NiLbsQjBygCCZgBBM4CAnjPGxsZE19fXq9zOzo5o54blaIWVAQTNAOLHh6mUlBTR9/f3Kpeamurazv7URTo+/C+wMoCgGUDQDCACX7Vtb29XcWtrq+jj42OVc96+ZnNyciK6rq5O5Zw3sxUXF4seGhpSuf7+fs/+BgkrAwiaAUQgw5R9GZjzxhu/l3/ZOJ/p/LGpoaFB9Ovrq8p5fT4HDSsDCJoBBM0AIpDlkJycHNEZGRlhf77zwmMv7DN8xhjT19cn+uHhwbWdc4Pb7e2t6IuLi2+/3wtWBhA0A4jA/wO3hyxjjImPjxddU1OjcrW1taKdR8O6urrC0p/r62vRBwcHKmfv53X+V396eip6dHRU5fweP2NlAEEzgKAZQAT+S9/V1ZVr7vLyUsX22QnnkeFQljHsW9sSEhJUzr7hbXBwUOXspRP78kpjjKmoqBDt3CzBOeMXQDOAiJojAf8DrAwgaAYQNAMImgEEzQCCZgBBM4CgGUDQDCBoBhA0AwiaAQTNAIJmAEEzgKAZQNAMIP4C5o/o9XPnuT8AAAAASUVORK5CYII=\" y=\"-8.711404\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m94cb5c64d1\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.683403\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(25.502153 122.309841)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 2034 4250 \r\nQ 1547 4250 1301 3770 \r\nQ 1056 3291 1056 2328 \r\nQ 1056 1369 1301 889 \r\nQ 1547 409 2034 409 \r\nQ 2525 409 2770 889 \r\nQ 3016 1369 3016 2328 \r\nQ 3016 3291 2770 3770 \r\nQ 2525 4250 2034 4250 \r\nz\r\nM 2034 4750 \r\nQ 2819 4750 3233 4129 \r\nQ 3647 3509 3647 2328 \r\nQ 3647 1150 3233 529 \r\nQ 2819 -91 2034 -91 \r\nQ 1250 -91 836 529 \r\nQ 422 1150 422 2328 \r\nQ 422 3509 836 4129 \r\nQ 1250 4750 2034 4750 \r\nz\r\n\" id=\"DejaVuSans-30\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"63.851471\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(57.488971 122.309841)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 794 531 \r\nL 1825 531 \r\nL 1825 4091 \r\nL 703 3866 \r\nL 703 4441 \r\nL 1819 4666 \r\nL 2450 4666 \r\nL 2450 531 \r\nL 3481 531 \r\nL 3481 0 \r\nL 794 0 \r\nL 794 531 \r\nz\r\n\" id=\"DejaVuSans-31\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"99.019538\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(92.657038 122.309841)scale(0.1 -0.1)\">\r\n       <defs>\r\n        <path d=\"M 1228 531 \r\nL 3431 531 \r\nL 3431 0 \r\nL 469 0 \r\nL 469 531 \r\nQ 828 903 1448 1529 \r\nQ 2069 2156 2228 2338 \r\nQ 2531 2678 2651 2914 \r\nQ 2772 3150 2772 3378 \r\nQ 2772 3750 2511 3984 \r\nQ 2250 4219 1831 4219 \r\nQ 1534 4219 1204 4116 \r\nQ 875 4013 500 3803 \r\nL 500 4441 \r\nQ 881 4594 1212 4672 \r\nQ 1544 4750 1819 4750 \r\nQ 2544 4750 2975 4387 \r\nQ 3406 4025 3406 3419 \r\nQ 3406 3131 3298 2873 \r\nQ 3191 2616 2906 2266 \r\nQ 2828 2175 2409 1742 \r\nQ 1991 1309 1228 531 \r\nz\r\n\" id=\"DejaVuSans-32\" transform=\"scale(0.015625)\"/>\r\n       </defs>\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_4\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"mdee191e960\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mdee191e960\" y=\"10.999219\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 14.798437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mdee191e960\" y=\"46.167286\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 49.966505)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mdee191e960\" y=\"81.335353\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 85.134572)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 26.925 107.711404 \r\nL 26.925 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 125.395588 107.711404 \r\nL 125.395588 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 26.925 107.711404 \r\nL 125.395588 107.711404 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 26.925 9.240815 \r\nL 125.395588 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_2\">\r\n   <g id=\"patch_7\">\r\n    <path d=\"M 145.089706 107.711404 \r\nL 243.560294 107.711404 \r\nL 243.560294 9.240815 \r\nL 145.089706 9.240815 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#p28e205522e)\">\r\n    <image height=\"99\" id=\"image1bc6ff13d8\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"145.089706\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAAEjklEQVR4nO2cSyi9XRTG9/kSSTEwIgMGpi7JJbmUoczkWgyZuORaCiNDhQykZCDlXiQkRcpt4FLGRu6SgUsK4Zut/1r765yO73vf96z//3t+o2f1dM7ePK13v2fv9xyfMebbABX8FeoJgF8gDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEUgDEWEeTFIXFwc6fr6euF1d3eT9vl8wvv+/rWhPDQ0JLyRkRHSZ2dnjswz1KAzFIEwFIEwFOEzLpz0JSQkiHpubo50Zmam/8kEWDNsHh4eSE9PTwuvubk5qHlqA52hCIShCFcuU2VlZaKempoK6nV3d3eifnp6Ip2cnBz0+Pv7+6Le2toi3dvbG/T7eA06QxEIQxEIQxGebIdwPj8/RT06Okp6fHxcePz2NScnR3g1NTWkU1NThZebmytqfqttrz18m+Xg4CDg3N0GnaEIhKEIVy5T9idpXt/e3gqvqakpqPe8uLgQNf9Ub9PS0iLqnp4e0uXl5cL7+PggjcsUIBCGIhCGIlxZM+zdVl4vLi66MaRgYGBA1Hw7pKOjQ3jV1dWko6KihFdaWurC7PyDzlAEwlCE57u29i1qUlKS08MHJCIiQtT8gYiuri7hXV1dka6rqxPe+vq643NDZygCYSgCYSjC811b+5rNH3C7ublxffy3tzdR9/X1kQ4Lk/+Ozs5O0m1tbcLb3d0l/fLy4sjc0BmKQBiKcOXWtqSkRNSzs7Okw8PDhdfe3k56cHDQ6an8J/hBmL2rwJ/1bWxsdGQ8dIYiEIYiEIYiXFkzbPb29khnZ2cLb3t7m3RRUZHbU/kRfJ34+voSHv+b8vPzHRkPnaEIhKEIhKEIT7ZDWltbSe/s7AivoKCAdGFhofD4ehIK+DoR6LsiToHOUATCUIQnl6mTkxPSq6urwisuLia9tLQkvIqKCtKHh4fCi4yMJH15eenIPEMNOkMRCEMRCEMRnqwZ/HSNb5kbY8zz8zPpyspK4U1MTJC2TwH5Cd38/Lwj8/wJ5+fnjr8nOkMRCEMRnuzaBiItLY305uam8KKjo/2+bm1tjXRVVZXw7E/yKSkppMfGxoR3f3/vdwx+0vf6+up3jOPjY7/v8RPQGYpAGIpAGIoI+ZrBycjIEPXGxgbpmJgYv6+zd3eXl5dF3d/fT/r6+lp4/EmWxMRE4fHvkszMzAjPvg13AnSGIhCGIjx/1jYQR0dHol5ZWSFt375y+AGVMf+8teUHQ/zZXmOMSU9PJ81/dcEYHC79r0EYikAYilC1ZtjwHyTmv75jjDGTk5Ok7R+oDIS9dcG/W2GvNZzT09Ogx/i3oDMUgTAUoeoT+E/IysoivbCwILz4+HhR89tSfphljDHv7++kY2NjhZeXl0favrzx1zkFOkMRCEMRCEMRv+2aweGnhcb87MSQ8/j4KGp7DXEbdIYiEIYi/ojLlI19SNXQ0EC6trZWePzZrOHhYeE59aBBsKAzFIEwFIEwFPFHrhm/K+gMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRSAMRfwN+c44Y7Lb2NEAAAAASUVORK5CYII=\" y=\"-8.711404\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_3\">\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"146.848109\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(143.666859 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.016176\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(175.653676 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"217.184244\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(210.821744 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_4\">\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#mdee191e960\" y=\"10.999219\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(131.727206 14.798437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#mdee191e960\" y=\"46.167286\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(125.364706 49.966505)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.089706\" xlink:href=\"#mdee191e960\" y=\"81.335353\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(125.364706 85.134572)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_8\">\r\n    <path d=\"M 145.089706 107.711404 \r\nL 145.089706 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_9\">\r\n    <path d=\"M 243.560294 107.711404 \r\nL 243.560294 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_10\">\r\n    <path d=\"M 145.089706 107.711404 \r\nL 243.560294 107.711404 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_11\">\r\n    <path d=\"M 145.089706 9.240815 \r\nL 243.560294 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n  <g id=\"axes_3\">\r\n   <g id=\"patch_12\">\r\n    <path d=\"M 263.254412 107.711404 \r\nL 361.725 107.711404 \r\nL 361.725 9.240815 \r\nL 263.254412 9.240815 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g clip-path=\"url(#pbc83608589)\">\r\n    <image height=\"99\" id=\"image8606b0864b\" transform=\"scale(1 -1)translate(0 -99)\" width=\"99\" x=\"263.254412\" xlink:href=\"data:image/png;base64,\r\niVBORw0KGgoAAAANSUhEUgAAAGMAAABjCAYAAACPO76VAAADg0lEQVR4nO2cv0vrYBSGvxbxx1DBSVBHFUHQQRx0VtDRWQcpouLkUHDqv1EEoYPd7OJSN0FdVOygFmrbQUEF6SLaoV1E73bMybWXNk2a95r3mc7hYHLk8XxfmsaEjDFfhkAQ9rsB8g1lAEEZQFAGEJQBBGUAQRlAUAYQlAEEZQDR4XcD7WZ1dVXlyWRS4r29PVXb2NhoR0sCJwMIygAicMvU4uKiykOhkE+d/A0nAwjKAIIygAjcnmHn6wvni05OBhCUAUTglykr5+fnvp6fkwEEZQBBGUAEfs+w3g75/Pz0sRNOBhSUAUTglynrJ/BSqeRjJ5wMKCgDCMoAgjKAoAwgKAOIwF/aWllaWlL5xcVFW8/PyQCCMoCgDCBCxuG/Hu/s7Kh8dna25WYODw9Vfnd3J7Fb6/f6+rrKd3d3Jb6/v1e14eFhV87ZKJwMICgDiKaWqUQiIbH9cfm3tzeJHx8fG25gYmLiuxnbc68fHx8SV6tVVcvn8xJfXl6qWjabVfnp6anE5XJZ1Z6fnyXu6+tTtc7Ozn/27jacDCAoAwjKAKKp2yE9PT0S29f3zc1NidPpdMPHnJycrHvMubk5iYeGhlTNup5Ho1FVW1tbU3mtVpPYvr90d3dLHA7rv82xsTGJC4XCz7+Ai3AygKAMICgDCNduob++vjr6uZubm7q16+vrho6xtbWl8t7eXpUvLCxIvLKyompdXV0S2/eMqakpiblnBAzKAMK1ZWp6elri4+Njtw7riEqlovKDg4MfY2OMSaVSEi8vL6taPB6XOJPJqJr19o9bcDKAoAwgKAOIpvaMYrFYtzY+Pt5yM34Qi8Uktt5+McaY0dFRiSORiKpxz/jlUAYQTS1TR0dHElsv+/5nrN/8PTw8qFp/f7/Eg4ODqvb09OR6L5wMICgDCMoAoqk94/b2VmL7Uxa/gff397q1+fl5lXvxUDQnAwjKAMLxXVu/3ybgBfYHGayXryMjI56fn5MBBGUAQRlAON4z9vf3Vd6ONdVrXl5eVG59N/rMzIyqefGAGycDCMoAwvEydXJyovJcLtdqL75jv1y33sUdGBhQNS/eh8vJAIIygKAMIBzvGWdnZ272AcnV1ZXE29vbnp+PkwEEZQDh+A0JxH04GUBQBhCUAQRlAEEZQFAGEJQBBGUAQRlAUAYQlAEEZQBBGUBQBhCUAQRlAEEZQPwBgPrAQHML2WEAAAAASUVORK5CYII=\" y=\"-8.711404\"/>\r\n   </g>\r\n   <g id=\"matplotlib.axis_5\">\r\n    <g id=\"xtick_7\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"265.012815\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(261.831565 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_8\">\r\n     <g id=\"line2d_14\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"300.180882\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_14\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(293.818382 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_9\">\r\n     <g id=\"line2d_15\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"335.34895\" xlink:href=\"#m94cb5c64d1\" y=\"107.711404\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_15\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(328.98645 122.309841)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_6\">\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_16\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#mdee191e960\" y=\"10.999219\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_16\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(249.891912 14.798437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_8\">\r\n     <g id=\"line2d_17\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#mdee191e960\" y=\"46.167286\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_17\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(243.529412 49.966505)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-31\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_9\">\r\n     <g id=\"line2d_18\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"263.254412\" xlink:href=\"#mdee191e960\" y=\"81.335353\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_18\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(243.529412 85.134572)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-32\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_13\">\r\n    <path d=\"M 263.254412 107.711404 \r\nL 263.254412 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_14\">\r\n    <path d=\"M 361.725 107.711404 \r\nL 361.725 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_15\">\r\n    <path d=\"M 263.254412 107.711404 \r\nL 361.725 107.711404 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_16\">\r\n    <path d=\"M 263.254412 9.240815 \r\nL 361.725 9.240815 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p985f935c06\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"26.925\" y=\"9.240815\"/>\r\n  </clipPath>\r\n  <clipPath id=\"p28e205522e\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"145.089706\" y=\"9.240815\"/>\r\n  </clipPath>\r\n  <clipPath id=\"pbc83608589\">\r\n   <rect height=\"98.470588\" width=\"98.470588\" x=\"263.254412\" y=\"9.240815\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAACECAYAAACJbXCEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAPk0lEQVR4nO3de2xVRR4H8O+PKkYlonVNbUABk1JTNyoqWFyDVaxhUYOIL6KACRESIUFDzIKLBmNEfCbiE0REsAE3KUjVEHR5aFaQVBR3eRXQBCxWEBRBQN3i7B89O86Mve3tveeec+b0+0lMf3PH3vODXzOczp0zI0opEBGRf7rEnQAREeWGAzgRkac4gBMReYoDOBGRpziAExF5igM4EZGn8hrARWSIiDSIyE4RmRJWUhQv1jW9WNt0kVzXgYtIEYDtAKoBNAKoBzBSKbUlvPQoaqxrerG26XNCHt87AMBOpdRXACAiiwEMA5Dxh0FE+NRQQiilJEMX6+qxNuoKdLC2rGui7FdKneW+mM8USg8AXxvtxuA18hvrml6srb92tfZiPnfgWRGRcQDGFfo6FC3WNZ1YV7/kM4DvAXCO0e4ZvGZRSs0BMAfgr2SeYF3Tq93asq5+yWcKpR5AmYj0EZGuAO4AUBdOWhQj1jW9WNuUyfkOXCnVLCITAawAUARgnlJqc2iZUSxY1/RibdMn52WEOV2Mv5IlRjurFTqEdU0O1jW1NiilLnNf5JOYRESe4gBOROQpDuBERJ7iAE5E5CkO4EREnuIATkTkKQ7gRESeKvheKEQ+uvTSS632xIkTdTx69Girb8GCBTp+/vnnrb7PPvusANkRteAdOBGRpziAExF5igM4EZGnuBdKK4qKiqx29+7ds/5ec670lFNOsfrKy8t1PGHCBKvv6aef1vHIkSOtvp9//lnHM2fOtPoeeeSRrHMzcc8M28UXX2y1V61aZbVPO+20rN7nxx9/tNpnnnlmXnl1FOsajcGDB+u4pqbG6rvqqqt03NDQENYluRcKEVGacAAnIvJUqpcRnnvuuVa7a9euOr7iiiusviuvvFLHp59+utU3YsSIUPJpbGzU8axZs6y+4cOH6/jw4cNW3xdffKHjDz/8MJRcCBgwYICOa2trrT532sycanTr8+uvv+rYnTKprKzUsbuk0Py+NBk0aJDVNv9Oli5dGnU6BdG/f38d19fXx5YH78CJiDzFAZyIyFMcwImIPJW6OXBzOZi7FKwjywHD8Ntvv1ntadOm6finn36y+sylSE1NTVbfDz/8oOMQlyV1CuZSzksuucTqe/PNN3VcWlqa9Xvu2LHDaj/55JM6Xrx4sdX38ccf69isPwA8/vjjWV/TJ1VVVVa7rKxMx77OgXfpYt/r9unTR8e9evWy+kRCW8nZLt6BExF5igM4EZGnUjeFsnv3bh0fOHDA6gtjCmX9+vVW++DBg1b76quv1rG7TGzhwoV5X586Zvbs2Tp2n3DNlTsV061bNx27yzzN6YQLL7wwlOsnnbtb47p162LKJDzuFNs999yjY3MqDgC2bdsWSU4A78CJiLzFAZyIyFMcwImIPJW6OfDvv/9exw888IDVd8MNN+j4888/t/rcR9tNGzdu1HF1dbXVd+TIEat9wQUX6HjSpEntJ0yhck/Suf7663Xc1vIud+76nXfesdrmbpHffPON1Wf+LJlLPgHgmmuuyer6aeIuuUuDuXPnZuxzl5VGqd2/aRGZJyL7RGST8VqxiHwgIjuCr2cUNk0KG+uaXqxt55HNP5XzAQxxXpsCYKVSqgzAyqBNfpkP1jWt5oO17RSyOtBBRHoDeFcp9eeg3QCgSinVJCKlANYopcrbeo/g+2LdIN7clN/dUc5cbjZ27Fir76677tLxokWLCpRdtJRSkpa6tvX0bVsHMSxfvlzH7hJDc1N+wF4C6P46/d1332W8xvHjx3V89OjRjNcI6/Dj/x/oEEZtO1JX8+/HXTa4ZMkSHY8aNSrbt0yUtWvXWm1zl0l3Z9NPPvmkECmEeqBDiVLq/897fwugJOe0KElY1/RibVMo7w8xVcutXMZ/qUVkHIBx+V6HosW6pldbtWVd/ZLrHfje4NcwBF/3ZfoflVJzlFKXtXb7T4nDuqZXVrVlXf2S6x14HYAxAGYGX5eFllEBHTp0KGOfexityXxs9q233rL63B0HPedFXfv27Wu1zeWi7nYJ+/fv17G7y+Mbb7yhY3d3yPfee6/Ndi5OPvlkqz158mQd33nnnXm/fzsKWtuhQ4fq2P1z+qqk5PdZJnP3QdeePXuiSKdV2SwjXARgHYByEWkUkbFo+SGoFpEdAK4N2uQR1jW9WNvOo907cKVUph2ABoecC0WIdU0v1rbzSN2TmLmaPn26jt2n+czlXtdee63V9/777xc0L2px0kkn6dh8KhKwf313l4eaO+N9+umnVl/cv+q7h277rLw884rEzZs3R5hJeMyfM3M6BQC2b9+uY/dnLkrpe+aViKiT4ABOROQpDuBERJ7iHHjA3FXQXDYI2I85v/rqq1bf6tWrrbY5z/riiy9afdlsW0Ct69evn47NOW/XsGHDrLa7yyBFr76+Pu4UNHdrhSFDft8yxtwyAwCuu+66jO/z6KOP6tg9lStKvAMnIvIUB3AiIk9xCqUVX375pdW+++67dfz6669bfe7uamb71FNPtfoWLFigY/epQGrbs88+q2P3YARzmiRpUybm4QYpe2o3a8XFxTl930UXXaRjt+bmct6ePXtafV27dtWx+4Sre9jEsWPHdOweWP7LL7/o+IQT7KFyw4YNbeYeFd6BExF5igM4EZGnOIATEXmKc+BZWLp0qY7dA0zNuVkAGDz49+0mZsyYYfX16tVLx4899pjVF+eOZklkHkAN2KfuuMsx6+rqokgpJ+a8t5u3eVi278y5ZPfP+corr+j4wQcfzPo9zVN+3Dnw5uZmHbsnHW3ZskXH8+bNs/rc7RTMz0z27t1r9TU2NurY3XZh27ZtbeYeFd6BExF5igM4EZGnOIATEXmKc+AdtGnTJqt92223We0bb7xRx+6a8fHjx+u4rKzM6quurg4rxVRw5xzNtb379tmngbmnJEXN3OrW3JbYtWrVKqs9derUQqUUuXvvvVfHu3btsvrcU9uztXv3bh2//fbbVt/WrVt1HNYp8OPG2UeBnnXWWTr+6quvQrlG2HgHTkTkKQ7gRESe4hRKntydyBYuXKjjuXPnWn3m47iDBg2y+qqqqnS8Zs2a0PJLI/MRZyD6bQnMKRMAmDZtmo7NA5YBeynaM888Y/W5BymnxRNPPBF3CjkxlwC7amtrI8wke7wDJyLyFAdwIiJPcQAnIvIU58A7yHy8FwBuueUWq92/f38du1tQmszHfQHgo48+CiG7ziGOR+fNR/ndee7bb79dx8uWLbP6RowYUdC8KBrmdhpJwjtwIiJPcQAnIvIUp1BaUV5ebrUnTpyo45tvvtnqO/vss7N+3+PHj+vYXfrWWU9rycTdfc5s33TTTVbfpEmTQr/+/fffb7UfeughHXfv3t3qq6mp0fHo0aNDz4UoE96BExF5qt0BXETOEZHVIrJFRDaLyKTg9WIR+UBEdgRfzyh8uhQW1jWdWNfOJZs78GYAk5VSFQAqAUwQkQoAUwCsVEqVAVgZtMkfrGs6sa6dSLtz4EqpJgBNQXxYRLYC6AFgGICq4H97A8AaAH8rSJYF4M5djxw5UsfmnDcA9O7dO6druKd/mKfwxH2KTNLr6p7qYrbd2s2aNUvH7gksBw4c0HFlZaXVN2rUKB2bJ6ADfzzp3NwZb8WKFVbfSy+99Mc/QEySXlefmJ+79O3b1+oLawfEfHXoQ0wR6Q2gH4D1AEqCHxYA+BZASYbvGQdgXGt9lAysazqxrumX9YeYItINQC2A+5RSh8w+1XJ7pFr7PqXUHKXUZUqpy/LKlAqCdU0n1rVzyOoOXERORMsPQ41Saknw8l4RKVVKNYlIKYB9md8hHiUl9k1GRUWFjl944QWr7/zzz8/pGuvXr7faTz31lI7dp/KStlTQ17oWFRVZbfMwAffJx0OHfh+73EM02rJ27VqrvXr1ah0//PDDWb9PHHyta9KY03ZduiRzwV42q1AEwGsAtiqlzCPY6wCMCeIxAJa530vJxbqmE+vauWRzB/4XAKMA/EdENgavPQhgJoB/iMhYALsA3Nb6t1NCsa7pxLp2ItmsQvkXAMnQnXkHdEo01jWdWNfOxftH6YuLi6327NmzdWzuIAcA5513Xk7XMOdD3VNV3CVlx44dy+kaZFu3bp3Vrq+v17G546PLXWLofg5iMpcYLl682OorxOP55K+BAwda7fnz58eTiCOZM/NERNQuDuBERJ7yYgrl8ssvt9rmhvoDBgyw+nr06JHTNY4ePapj88k+AJgxY4aOjxw5ktP7U8eYhwED9i6Q48ePt/rMQ4Xb8txzz1ntl19+Wcc7d+7saIqUcu6OmEnEO3AiIk9xACci8hQHcCIiT3kxBz58+PA225m4Bwe/++67Om5ubrb6zOWBBw8e7GCGVGjmCUbTp0+3+tw2US6WL19utW+99daYMske78CJiDzFAZyIyFPibpxf0IuJRHcxapNSKrQ1UqxrcrCuqbWhtS1+eQdOROQpDuBERJ7iAE5E5CkO4EREnuIATkTkKQ7gRESe4gBOROQpDuBERJ7iAE5E5CkO4EREnop6N8L9AHYB+FMQJ0FnzKVXyO/HuraNdQ1PZ82l1dpGuheKvqjIp6091x8H5hKeJOXPXMKTpPyZi41TKEREnuIATkTkqbgG8DkxXbc1zCU8ScqfuYQnSfkzF0Msc+BERJQ/TqEQEXkq0gFcRIaISIOI7BSRKVFeO7j+PBHZJyKbjNeKReQDEdkRfD0jgjzOEZHVIrJFRDaLyKS4cgkD62rlkprasq5WLomsa2QDuIgUAXgRwF8BVAAYKSIVUV0/MB/AEOe1KQBWKqXKAKwM2oXWDGCyUqoCQCWACcHfRRy55IV1/YNU1JZ1/YNk1lUpFcl/AAYCWGG0pwKYGtX1jev2BrDJaDcAKA3iUgANMeS0DEB1EnJhXVlb1tWfukY5hdIDwNdGuzF4LW4lSqmmIP4WQEmUFxeR3gD6AVgfdy45Yl0z8Ly2rGsGSaorP8Q0qJZ/RiNbliMi3QDUArhPKXUozlzSLI6/S9a28FjXaAfwPQDOMdo9g9fitldESgEg+LoviouKyIlo+UGoUUotiTOXPLGujpTUlnV1JLGuUQ7g9QDKRKSPiHQFcAeAugivn0kdgDFBPAYtc1sFJSIC4DUAW5VSz8aZSwhYV0OKasu6GhJb14gn/ocC2A7gSwB/j+GDh0UAmgD8Fy1zemMBnImWT493APgngOII8rgSLb9q/RvAxuC/oXHkwrqytqyrv3Xlk5hERJ7ih5hERJ7iAE5E5CkO4EREnuIATkTkKQ7gRESe4gBOROQpDuBERJ7iAE5E5Kn/ASJvoUVA3PvGAAAAAElFTkSuQmCC"
     },
     "metadata": {
      "needs_background": "light"
     }
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "上面三张图片的真实结果： [5 0 4]\n",
      "上面三张图片的预测结果： [5 0 4]\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "我们简单的选取了测试集合的前三张手写字符进行测试，得到的预测结果和真实结果完全一致。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "注意，这里我们 model 得到的预测结果是 $[x_{1}, x_{2}, \\cdots, x_{10}]$ , 每一个数表示每一类的概率值。换句话说，一张图片的预测结果的大小为 $1\\times 10$，我们还需要利用 `np.argmax` 求取该数组中最大数的下标。 我们可以展示一下 outputs[0] 的结果："
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "outputs[0]"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "从结果可以很清楚的看出，该数组的第 7 个值最大（从第 0 个值开始数），因此 `np.argmax(outputs[0])` 返回了 7 。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 模型的测试"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "在训练完模型后，我们将导入测试数据集，对模型进行测试，对比模型的预测结果和实际结果，进而得到模型的识别准确率。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "模型的测试代码很简单，其实就是将数据传入模型之中，并进行一次正向传播即可。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "简单的说，就是复制上面的模型训练代码，然后更换数据集，删除后面的梯度下降相关的代码即可。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "source": [
    "# I测试数据，计算模型的识别准确率\r\n",
    "with torch.no_grad():\r\n",
    "    n_correct = 0\r\n",
    "    n_samples = 0\r\n",
    "    for images, labels in test_loader:\r\n",
    "        # 和训练代码一致\r\n",
    "        images = images.reshape(-1, 28*28).to(device)\r\n",
    "        labels = labels.to(device)\r\n",
    "        outputs = model(images)\r\n",
    "\r\n",
    "        # 进行模型训练\r\n",
    "        _, predicted = torch.max(outputs.data, 1)\r\n",
    "        n_samples += labels.size(0)\r\n",
    "        n_correct += (predicted == labels).sum().item()\r\n",
    "\r\n",
    "    acc = 100.0 * n_correct / n_samples\r\n",
    "    print(f'Accuracy of the network on the 10000 test images: {acc} %')"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Accuracy of the network on the 10000 test images: 97.615 %\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "从结果看出，我们利用 PyTorch 建立的三层全连接网络对手写字符图片也要较高的识别准确率，这也侧面说明了神经网络的强大。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 实验总结"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "通过本实验的学习，我想你已经掌握了如何利用 PyTorch 完成数据集的预处理、数据加载器的生成、优化器的定义、损失的定义、全连接神经网络的搭建与训练以及模型的测试等过程。在下一个实验中，我们会对卷积神经网络进行详细的讲解。"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "<hr><div style=\"color: #999; font-size: 12px;\"><i class=\"fa fa-copyright\" aria-hidden=\"true\"> 本课程内容版权归蓝桥云课所有，禁止转载、下载及非法传播。</i></div>"
   ],
   "metadata": {}
  }
 ],
 "metadata": {
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3.8.0 64-bit ('pytorch': conda)"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.0"
  },
  "interpreter": {
   "hash": "95edf26445b41d81dc60008cc593bb3c243ca80a3a822915e2b6f7013280bc10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}